向已填充的数据集添加列
本文关键字:添加 数据集 填充 | 更新日期: 2023-09-27 18:05:28
我试图添加一个列到一个数据集,有我的sql表数据。我基本上想在加载数据后添加一列,以跟踪哪些值已经在数据库中,哪些值是数据网格中的新值。然后我就知道要向数据库中添加哪些行。我很感激你的帮助。
这是我的代码,我只是想让列显示在这一点上,我将担心更新行与这个新列稍后。
sqlcom.CommandText = @"INSERT INTO members (firstname, lastname) VALUES ('" + textBox1.Text +"', '"+ textBox2.Text +"')";
sqlcom.ExecuteNonQuery();
SqlDataAdapter sqladapt = new SqlDataAdapter("SELECT * FROM members", thisConnect);
DataSet ds = new DataSet();
sqladapt.Fill(ds, "members");
//add column to dataset?
ds.Tables["members"].Columns.Add("inDb");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "members";
thisConnect.Close();
试试这个,
ds.Tables["members"].Columns.Add(new DataColumn("inDb", typeof(Boolean)));
另一个选项是在select语句中返回这个字段,
select *, cast(1 as bit) as InDb from member
,
为所有从表返回的值设置为true。
你还应该考虑SQL参数来避免任何SQL注入,例如,让我说我在第一个文本框中输入-','-');truncate table members;
,这将删除成员表中的所有行,没有检索数据的选项
sqlcom.CommandText = @"INSERT INTO members (firstname, lastname)
VALUES (@first,@last)";
sqlcom.Parameters.AddWithValue("@first",textBox1.Text);
sqlcom.Parameters.AddWithValue("@last",textBox2.Text);