2种C#增的写法!!请高手帮忙看看!

来源:百度知道 编辑:UC知道 时间:2024/06/27 11:19:43
第1种!!
private void Form1_Load(object sender, System.EventArgs e)
{
objSqlConnection=new SqlConnection("Server=127.0.0.1;Database=jinxubin;uid=sa;pwd=123");
objSqlDataAdapter=new SqlDataAdapter("select * from book",objSqlConnection);
objSqlDataAdapter.Fill(objDataSet,"book");
dbgPass.DataSource=objDataSet.Tables[0].DefaultView;
}

private void btnAdd_Click(object sender, System.EventArgs e)
{
//插入语句
String insCmd="insert into book values(@bookid,@title,@author,@price,@description,@i)";
//初始化 insertCommand
objSqlDataAdapter.InsertCommand=new SqlCommand(insCmd,objSqlConnection);
if(objDataSet.HasChanges())
{
try
{
objSqlDataAdapter.Update(objDataSet,"book");
MessageBox.Show("已经插入数据");
btnUpdate.Enabled=true;
btnDelete.Enabled=true;
}<

我知道一点 不对的请多多指教哈
第二种方法用到ExecuteNonQuery 是因为他是直接通过SqlCommand 对象直接对数据库进行操作 而ExecuteNonQuery 则是执行SqlCommand中的sql语句 而第一种方法在通过SqlDataAdapter对象填充到DataSet的虚拟表时候已经执行了sql语句并同步到数据库的相对应的表中
而第二种方法中SqlCommand对象中已经包含了sql语句的参数 所以SqlCommand在通过ExecuteNonQuery方法 执行后也就相当于调用了他里面的参数也就是sql语句

第一种objSqlDataAdapter.Update(objDataSet,"book");
第二种
string MyInsert="insert into Categories(CategoryName, Description)values('"+Convert.ToString(TextBox2.Text)+"','"+Convert.ToString(TextBox3.Text)+"')";