sql server 的SqlcomandBuilder中找不到builder定义

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