我已经编写了从文本框和更新中获取数据的代码但是因为我在mdf文件中设置了ID将自动递增但不会发生这种情况。但是如果我通过右键单击服务器中的“显示表数据”来输入数据探险家然后有自动增量 这里是代码
public partial class Form1 : Form
{
System.Data.SqlClient.SqlConnection con;
System.Data.SqlClient.SqlDataAdapter da;
System.Data.SqlClient.SqlCommandBuilder cb;
DataRow row;
DataSet ds1;
public Form1()
{
InitializeComponent();
con = new System.Data.SqlClient.SqlConnection();
ds1 = new DataSet();
con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True";
try
{
con.Open();
MessageBox.Show("Sucess Opening Database");
string sql = "SELECT * From student";
da = new System.Data.SqlClient.SqlDataAdapter(sql, con);
da.Fill(ds1,"students");
dataGridView1.DataSource = ds1.Tables["students"];
con.Close();
}
catch(Exception e)
{
MessageBox.Show(e.ToString());
}
}
private void save_Click(object sender, EventArgs e)
{
cb = new System.Data.SqlClient.SqlCommandBuilder(da);
row = ds1.Tables["students"].NewRow();
row["Name"] = textBoxName.Text;
row["Class"] = textBoxClass.Text;
ds1.Tables["students"].Rows.Add(row);
da.Update(ds1,"students");
dataGridView1.DataSource = ds1.Tables["students"];
}
}
先谢谢
答案 0 :(得分:0)
这是很久以前的事了,但jgauffin上面的评论中提到了答案。
如果您在数据集中设置自动增量列并希望它为您自动增加ID,则在添加新行时传入null。