谁能帮我解释一下这段代码?C#

来源:百度知道 编辑:UC知道 时间:2024/05/16 05:47:37
SqlCommandBuilder mycm = new SqlCommandBuilder(myda);和
FetchDataTableBySql中 为什么要返回 myds.Tables[0]? 这两句代码都有什么作用??
private string connectionString = "server=(local);uid=sa;pwd=;database=contest";

private SqlConnection CreateConnection()
{
return new SqlConnection(connectionString);
}
public DataTable FetchDataTableBySql(string sql)

{
string TableName = GetTableName(sql);
SqlDataAdapter myda = new SqlDataAdapter(sql, CreateConnection());
DataSet myds = new DataSet();
SqlCommandBuilder mycm = new SqlCommandBuilder(myda);
myda.Fill(myds, TableName);

return myds.Tables[0];
}

public int SaveDataTable(DataTable table)
{
int rowCount = 0;
string sql = "select * from " + table.Tabl

嘿嘿,SqlCommandBuilder mycm = new SqlCommandBuilder(myda);使适配器中自动生成一个SQL语句(简单的哟),它主要是对单表进行生成的,有他你在用myda.update()方法的是时候就不用自己写SQL语句了。
FetchDataTableBySql方法中,他定义的类型就是datatable的,当然要返回一个Datatable类型。myds.Tables[0]?是数据集Dataset中的一张表。

分哈

SqlCommandBuilder mycm = new SqlCommandBuilder(myda);
这句话我认为可以删除掉,你的方法体唯一干的事情就是新作一个table,并把做好的table返回。
(恩,我解释的不对,请看楼下的)

FetchDataTableBySql中 为什么要返回 myds.Tables[0]?
返回的是前几步做好的table啊,你当然要操作和个table了。

SqlCommandBuilder mycm = new SqlCommandBuilder(myda);//更新
用SqlDataAdapter myda = new SqlDataAdapter(sql, CreateConnection());
的myda来更新数据库