我是这样想的,对页面定时刷新。如果有新任务的时候做个弹出的提示框,提示有新的任务了。
是不是在page_load里面这样写啊:
sqlconnection conn = new sqlconnection ("数据库字符串")
conn open();
....
下面不会了啊
有谁有代码参考下呢
在数据库的事物处理明细里面有序号和结束标志字段,这该怎样写到代码里面去呢!
请教各位老师了

解决方案 »

  1.   

      //数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库.
            public static string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;        //Create a hashtable for the parameter cached
            private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());        public static OracleLob GetTempBLobs(byte[] statebyte) //获取提交数据库的文件内容
            {
                //创建临时Blob变量
                OracleType lobtype = OracleType.Blob;
                string CreateTempBlob = "DECLARE A " + lobtype + "; " +
                 "BEGIN " +
                 "DBMS_LOB.CREATETEMPORARY(A, FALSE); " +
                 ":LOC := A; " +
                 "END;";            OracleConnection conn = new OracleConnection(connectionString);
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }            OracleParameter[] param = new OracleParameter[1];
                param[0] = new OracleParameter("LOC", OracleType.Blob);
                OracleHelper.CacheParameters(CreateTempBlob, param);
                param[0].Direction = ParameterDirection.Output;
                OracleHelper.ExecuteNonQuery(conn, CommandType.Text, CreateTempBlob, param);
                OracleLob tempLob = (OracleLob)param[0].Value;            //将文件内容传入Blob变量
                tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);
                tempLob.Write(statebyte, 0, statebyte.Length);
                tempLob.Position = 0;
                conn.Close();
                return tempLob;
            }        /// <summary>
            /// 执行查询语句,返回DataSet
            /// </summary>
            /// <param name="SQLString">查询语句</param>
            /// <returns>DataSet</returns>
            public static DataSet Query(string SQLString)
            {
                using (OracleConnection connection = new OracleConnection(connectionString))
                {
                    DataSet ds = new DataSet();
                    try
                    {
                        connection.Open();
                        OracleDataAdapter command = new OracleDataAdapter(SQLString, connection);
                        command.Fill(ds, "ds");
                    }
                    catch (OracleException ex)
                    {
                        throw new Exception(ex.Message);
                    }
                    finally
                    {
                        if (connection.State != ConnectionState.Closed)
                        {
                            connection.Close();
                        }
                    }
                    return ds;
                }
            }        public static DataSet Query(string connectionString, string SQLString, OracleParameter[] cmdParms)
            {
                using (OracleConnection connection = new OracleConnection(connectionString))
                {
                    OracleCommand cmd = new OracleCommand();
                    PrepareCommand(cmd, connection, null, SQLString, cmdParms);
                    using (OracleDataAdapter da = new OracleDataAdapter(cmd))
                    {
                        DataSet ds = new DataSet();
                        try
                        {
                            da.Fill(ds, "ds");
                            cmd.Parameters.Clear();
                        }
                        catch (System.Data.OracleClient.OracleException ex)
                        {
                            throw new Exception(ex.Message);
                        }
                        finally
                        {
                            if (connection.State != ConnectionState.Closed)
                            {
                                connection.Close();
                            }
                        }
                        return ds;
                    }
                }
            }
            /// <summary>
            /// 执行一条计算查询结果语句,返回查询结果(object)。
            /// </summary>
            /// <param name="SQLString">计算查询结果语句</param>
            /// <returns>查询结果(object)</returns>
            public static object GetSingle(string connectionString, string SQLString)
            {
                using (OracleConnection connection = new OracleConnection(connectionString))
                {
                    using (OracleCommand cmd = new OracleCommand(SQLString, connection))
                    {
                        try
                        {
                            connection.Open();
                            object obj = cmd.ExecuteScalar();
                            if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                            {
                                return null;
                            }
                            else
                            {
                                return obj;
                            }
                        }
                        catch (OracleException ex)
                        {
                            throw new Exception(ex.Message);
                        }
                        finally
                        {
                            if (connection.State != ConnectionState.Closed)
                            {
                                connection.Close();
                            }
                        }
                    }
                }
            }        public static bool Exists(string connectionString, string strOracle)
            {
                object obj = OracleHelper.GetSingle(connectionString, strOracle);
                int cmdresult;
                if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                {
                    cmdresult = 0;
                }
                else
                {
                    cmdresult = int.Parse(obj.ToString());
                }
                if (cmdresult == 0)
                {
                    return false;
                }
                else
                {
                    return true;
                }
            }
            /// <summary>
            /// Execute a database query which does not include a select
            /// </summary>
            /// <param name="connString">Connection string to database</param>
            /// <param name="cmdType">Command type either stored procedure or SQL</param>
            /// <param name="cmdText">Acutall SQL Command</param>
            /// <param name="commandParameters">Parameters to bind to the command</param>
            /// <returns></returns>
            public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, OracleParameter[] commandParameters)
            {
                // Create a new Oracle command
                OracleCommand cmd = new OracleCommand();            //Create a connection
                using (OracleConnection connection = new OracleConnection(connectionString))
                {                //Prepare the command
                    PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);                //Execute the command
                    int val = cmd.ExecuteNonQuery();
                    connection.Close();
                    cmd.Parameters.Clear();
                    return val;
                }
            }
            /// <summary>
            /// Execute an OracleCommand (that returns no resultset) against an existing database transaction 
            /// using the provided parameters.
            /// </summary>
            /// <res>
            /// e.g.:  
            ///  int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, "PublishOrders", new OracleParameter(":prodid", 24));
            /// </res>
            /// <param name="trans">an existing database transaction</param>
            /// <param name="commandType">the CommandType (stored procedure, text, etc.)</param>
            /// <param name="commandText">the stored procedure name or PL/SQL command</param>
            /// <param name="commandParameters">an array of OracleParamters used to execute the command</param>
            /// <returns>an int representing the number of rows affected by the command</returns>
            public static int ExecuteNonQuery(OracleTransaction trans, CommandType cmdType, string cmdText, OracleParameter[] commandParameters)
            {
                OracleCommand cmd = new OracleCommand();
                PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);
                int val = cmd.ExecuteNonQuery();
                cmd.Parameters.Clear();
                return val;
            }
      

  2.   

    老师您好
    看您给了我这么多代码真是万分感谢
    其实没您想的那么复杂啦
    就是定时查下数据库 看看有没新任务 有新任务就提醒下 就可以了啊 也不需要显示有多少新任务或是新任务的内容是什么啦
    我就是在想这样设计 就是XXX=select count(*) from 任务登记簿 where 结束标志为空;
    if (XXX>0)
    {
    this.Response.Write("<script>alert("收到新任务!")</script>");
    }
    else return;
    就从sqlconnection conn = new sqlconnection ("数据库字符串")
    conn open();
    往下已经是从数据库提取数据就不会写了
    该怎么写啊,能否写一段源码给我参考参考啊!多谢多谢啊
      

  3.   

    sqlconnection conn = new sqlconnection ("数据库字符串")
    conn open();
    string sql="sql语句条件是你更新的数据";
    sqlcommand cmd=new sqlcommand(sql,conn);
    if(cmd.ExNonQuery()>0)
    {
        有更新
    }
    else
    {
        无更新...
    }
      

  4.   

    哎,怎么插数据不是重点,这是基本的东西,搜索一下很快就能出来。重点是怎么设计。定时?怎么定时?放在哪里跑这个定时?LZ你有没有考虑过这个问题?
    一种方法就是session带上上次更新的时间,另一种就是后台有专门的线程轮询,然后置上相应用户的标志。当用户请求的时候检查下标志位,再去数据库拉 这种效率高些
      

  5.   

    dataset ds =new dataset();
    sqlconnection conn = new sqlconnection ("数据库字符串")
    conn.open();sqldataadapter da =new sqldataadapert("sql语句",conn);
    da.fill(ds);
    if(ds.tables[0].rows.count>0)
    {
    ....
    }
    else
    {............
    }
      

  6.   

    这个sql语句怎么写啊
    XXX=select count(*) from 任务登记簿 where 结束标志为空
    关键是这个结束标志为空该怎样表达啊
    直接写string xxx =select.....from.....where 结束标志 ==null
    是不对的啊
    老师们那些什么资源什么负担了都不考虑的 就是个小网站啊!
    只要那这功能实现就好了!
    谢谢各位老师的指点
    只要帮我完整这样的一个功能就好啊
    越简单越好啊!
      

  7.   

    简单的话可以用javascript 的interval来刷新页面,不过不建议这样做,会占用资源