sql server 的SqlcomandBuilder中找不到builder定义

sql server 的SqlcomandBuilder中找不到builder定义

img

在C#中使用SqlCommandBuilder,需要引用System.Data.SqlClient命名空间。
使用步骤如下:

  1. 新建SqlConnection连接到数据库
    csharp
    string connStr = "Data Source=(local);Initial Catalog=test;Integrated Security=True";
    SqlConnection conn = new SqlConnection(connStr);
  2. 新建SqlCommand查询语句
    csharp
    string sql = "SELECT * FROM testTable";
    SqlCommand cmd = new SqlCommand(sql, conn);
  3. 新建SqlDataAdapter,传入SqlCommand
    csharp
    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
  4. 新建DataSet保存查询结果
    csharp
    DataSet ds = new DataSet();
  5. 用SqlDataAdapter填充DataSet
    csharp
    adapter.Fill(ds);
  6. 新建SqlCommandBuilder,传入SqlDataAdapter
    csharp
    SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
  7. 可以调用builder的GetInsertCommand()、GetUpdateCommand()、GetDeleteCommand()获取对应的SQL语句
    csharp
    SqlCommand insertCmd = builder.GetInsertCommand();
    string insertSQL = insertCmd.CommandText;
  8. 当对DataSet做了Update之后,可以调用adapter的Update将修改同步到数据库
    csharp
    adapter.Update(ds);
    SqlCommandBuilder的作用是自动生成用于向数据库插入、更新和删除记录的SQL语句。所以如果找不到builder的定义,很有可能是没有引用System.Data.SqlClient命名空间。