如何在ASP.NET中使用MySqlDataAdapter进行插入操作

时间:2017-05-03 13:18:02

标签: c# mysql sql asp.net

我可以使用我在此处发表评论的代码执行插入。如何使用MySqlDataAdapter实现相同的功能?我写的代码不起作用。

string sid, sname;
            sid = Request.QueryString["StudentId"].ToString();
            sname = Request.QueryString["StudentName"].ToString();
            MySqlDataAdapter da = new MySqlDataAdapter("insert into tblStudent (StudentId, StudentName) values ('" + sid.ToString() + "', '" + sname.ToString() + "')", con);
          //  con.Open();
        //    MySqlCommand cmd = con.CreateCommand();
      //      cmd.CommandType = CommandType.Text;
    //        cmd.CommandText = "insert into tblStudent (StudentId, StudentName) values('" + sid.ToString() + "', '" + sname.ToString() + "')";
  //          cmd.ExecuteNonQuery();
//            con.Close();

帮助提出建议。

1 个答案:

答案 0 :(得分:0)

要插入单个记录,您只需使用MySqlCommand而不是MySqlDataAdapter即可。 MySqlDataAdapter具有许多功能,允许您对数据执行插入,更新和删除操作,但首先需要到达服务器以填充DataTable,然后向数据表添加新记录,最后调用Update。如果你只需要插入一条记录

,那就不值得了

但是如果你真的想尝试使用DataAdapter,那么你需要这个代码

string sid, sname;
sid = Request.QueryString["StudentId"].ToString();
sname = Request.QueryString["StudentName"].ToString();
string selectText = "SELECT studentID, StudentName FROM tblStudent WHERE 1=0";
using(MySqlDataAdapter da = new MySqlDataAdapter(selectText, con))
{
     MySqlCommandBuilder bd = new MySqlCommandBuilder(da);
     DataTable dt = new DataTable();
     da.Fill(dt);
     // This is important, because Update will work only on rows
     // present in the DataTable whose RowState is Added, Modified or Deleted
     dt.Rows.Add(sid, sname);
     da.Update(dt);
}