首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#数据库插入数据有关问题

2013-04-09 
C#数据库插入数据问题我现在在用C#编一个软件,我希望每隔1秒向SQL数据库的表中插入一个数据,不知道该怎么

C#数据库插入数据问题
我现在在用C#编一个软件,我希望每隔1秒向SQL数据库的表中插入一个数据,不知道该怎么做啊
我现在用的代码是
 private void timer3_Tick(object sender, EventArgs e)
        {
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                int temdata = Convert.ToInt32(receive.Text);
                string sql = "insert into TemTable (温度) values (temdata)";
                SqlCommand cmd = new SqlCommand(sql, conn);
                try
                {
                    conn.Open();//将连接打开
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "失败");
                }
            }
        }
但是这样不对也,还有人说应该用table比较好,这样不会对数据库频繁的进行操作,但是我不知道怎么用SqlDataAdapter对象来对table进行插入诶。求详细指导 sql table
[解决办法]

        /// <summary>
        /// 将DataSet中的数据一次性存储到数据库
        /// </summary>
        /// <param name="sql">数据</param>
        /// <param name="strTblName">要操作的表</param>
        /// <returns></returns>
public static int CommondDataTable(DataTable dt, string strTblName)
        {
 
            using (SqlConnection Connection = new SqlConnection(connectionString))
            {
                Connection.Open();
                SqlTransaction trans = Connection.BeginTransaction();
                try
                {
                    SqlDataAdapter adapter = new SqlDataAdapter();


                    SqlCommand cmd = new SqlCommand("select * from " + strTblName, Connection);
                    cmd.Transaction = trans;
                    adapter.SelectCommand = cmd;
                    SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(adapter);
                    int reuslt = adapter.Update(dt);
                    trans.Commit();
                    return reuslt;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    return 0;
                }
            }
        }


[解决办法]
这个给你参考就知道为什么不对了,还有就是不一定要用数据表也可以不频繁操作数据库,可以把数据存数组到一定数量后批量执行一次
[解决办法]
每秒操作一次,不要每次都打开和关闭,做一个实例来管理打开和关闭。

热点排行