如何将下位机A/D采集到的八路数据存入数据库里,我应该用什么方法。这是我在下位机读到的数据ADdata[0] = ASCIIToUint16(SURxd.Buf[12], SURxd.Buf[13], SURxd.Buf[14], SURxd.Buf[15]);
ADdata[1] = ASCIIToUint16(SURxd.Buf[16], SURxd.Buf[17], SURxd.Buf[18], SURxd.Buf[19]);
ADdata[2] = ASCIIToUint16(SURxd.Buf[20], SURxd.Buf[21], SURxd.Buf[22], SURxd.Buf[23]);
ADdata[3] = ASCIIToUint16(SURxd.Buf[24], SURxd.Buf[25], SURxd.Buf[26], SURxd.Buf[27]);
ADdata[4] = ASCIIToUint16(SURxd.Buf[28], SURxd.Buf[29], SURxd.Buf[30], SURxd.Buf[31]);
ADdata[5] = ASCIIToUint16(SURxd.Buf[32], SURxd.Buf[33], SURxd.Buf[34], SURxd.Buf[35]);
ADdata[6] = ASCIIToUint16(SURxd.Buf[36], SURxd.Buf[37], SURxd.Buf[38], SURxd.Buf[39]);
ADdata[7] = ASCIIToUint16(SURxd.Buf[40], SURxd.Buf[41], SURxd.Buf[42], SURxd.Buf[43]);
我是采用通信协议读到的,每个数据时分四个ASCII码传送的,所以收到的数据也是四个ASCII码,现在我要将以上八个数组里的数据存到数据库中,我应该怎么做,附程序可以吗??
我看书找到以下这个方法,但是这个方法貌似不行,数据存入数据库中好像是会被覆盖的
private void button9_click(object sender,eventargs e)
{
SqlConnection con=new SqlConevtion("Server=(Local);DataBase=db_19;uid=sa");
con.Open();
SqlTransaction tran=con.BeginTransaction();//开始数据库事务。
SqlCommand cmd= new SqlCommand("insert into tb_score values('李百分',‘100’,‘100’,‘100’)",con);
cmd.Transaction = tran;
try
{
cmd.ExecuteNonQuery();
tran.Commit();
MessageBox.Show("添加成功!");
}
catch(Exception ex)
{
MessageBox.Show("错误:"+ex.Message);
tran.Rollback();
}
}
用这段程序中调用SqlCommand对象的ExecuteNonQuery方法完成数据增加的操作是否可行
还是可以利用datatable的方法,将数据库存入自己定义的内存缓冲表中,再将内存缓冲表中的数据添加到数据库中,请高手指点呀,最好就是附上程序啦。

解决方案 »

  1.   

    MessageBox.Show("错误:"+ex.Message);
    ????`````你的ASP 有这个函数
      

  2.   

      SqlConnection sc = new SqlConnection("data source=127.0.0.1;initial catalog=Cexercise;user id=sa;password=123;");
                try
                {
                    sc.Open();                SqlCommand scd = new SqlCommand("select语句",sc);                int res = scd.ExecuteNonQuery();                string s = res >0? "操作成功!" : "找不到该用户";
                    MessageBox.Show(s);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("操作失败,请检查网络连接是否正常!");
                }
                finally
                {
                    if (sc.State == ConnectionState.Open)
                        sc.Close();
                }可以利用datatable的方法,将数据库存入自己定义的内存缓冲表中,再将内存缓冲表中的数据添加到数据库中,
    部分代码:
               Dataset = new DataSet();
              SqlDa.Fill(Dataset, "Table0");//定义添加        DataRow data = Dataset.Tables["Table0"].NewRow();
                data["对应表的列名"] = AddBookID.Text;
                data["对应表的列名"] = AddBookName.Text;
                data["对应表的列名"] = AddBookZuozhe.Text;
                data["对应表的列名"] = AddBookShe.Text;
                Dataset.Tables["Table0"].Rows.Add(data);
    保存    SqlDa.Update(Dataset,"Table0");