当前位置: 代码迷 >> C# >> ,怎么在TextBox接收到数据后将数据传到数据库中
  详细解决方案

,怎么在TextBox接收到数据后将数据传到数据库中

热度:141   发布时间:2016-05-05 05:26:26.0
求助,如何在TextBox接收到数据后将数据传到数据库中?
RT
串口接收代码如下:
                    StringBuilder builder = new StringBuilder();//创建可变字符串类
                    int n = serialPort1.BytesToRead;//定义每次读取的缓存字节长度
                    Byte[] bytes = new Byte[n];//定义字节数组,长度为接收的缓存字节
                    serialPort1.Read(bytes, 0, n);
                    builder.Clear();//每次读取后都清除一次字符串类中的数据
                    builder.Append(Encoding.ASCII.GetString(bytes));//向字符串类添加收到的字节(转)
                    txtReceiveData.AppendText(builder.ToString()+" ");//将字符串添加到文本框中

假如数据库(名称为TB0)一共有10行,第一列是代号(已通过建立datagridview1和存储过程存入数据库,列名为C1),第二列是想接收的数据(列名为C2)。就是想知道如和把每次接收的数据传递到数据库中????。。

貌似接收也少加了个接收10次后停止接收的方法。

以上是问题的描述
------解决思路----------------------
写个入库的函数,将你每次接收的数据对应入库就是
入库方法类似如下:

  SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=table;Integrated Security=True");
            con.Open();
            SqlCommand cmd = new SqlCommand(string.Format("select Count(*) form table where data= '{0}'", textBox.Text), con);
            if ((int)cmd.ExecuteScalar() > 0)
            {
                MessageBox.Show("数据已经存在", "提示");
            }
            else
            {
                string sql = "insert into table(data) values('" + textBox.Text + "')";
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
                MessageBox.Show("成功添加");
            }

------解决思路----------------------
引用:
Quote: 引用:

数据库的表的结构又是怎么样的?接收的内容是直接写到一个字段中?我给的只是一个例子,得根据你的实际情况进行修改,我
的例子只给了一个字段,是将文本内容写到这个字段中。

现在情况变了:
接收的内容肯定现在相应的文本框显示,然后在接收的过程中把接收的数据录入到数据库第一行数据中。再一次接收数据,会将数据录入到第二行。。一直录入到第一列总共存在的数量(也就是数据库已经有数据的行数)
现在假设数据库名称为Table.第一列名称是C1,第二列名称是C2,假设现在第一列已知6行数据。现在的目的是录入数据并将它们录入到这6行已知数据的第二列中。

这样的需求得用update语句了,代码基本和2楼给出的一样,只是将insert语句改为update。同时,你要考虑每次第二列所谓的录入数据是否要和第一列一一对应(相应的加where条件子句)
  相关解决方案