基本思路这样,可以参考一下:
ArrayList al = new ArrayList(); //创建表要执行的SQL
foreach(DataTable dt in dsTables) //循环数据表
{
//获取创建表的SQL
string sSql = "Create DataTable " + dtTableName + " ( ";
foreach(DataColumn dc in dtColumns) //循环列
{
//获取创建表的SQL,具体自己再发挥
sSql = sSql + dcColumnName + dcDataTypeToString() + ", ";
}
sSqlSubstring(0,sSqlLength -1) + ") ";
alAdd(sSql);
}
SqlDataAdapter adapter = new SqlDataAdapter(strSql, strConn);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
DataSet ds = new DataSet();
adapterFill(ds, "Titles");
//插入记录
DataTable table = dsTables["Titles"];
DataRow row = tableNewRow();
row["Title_id"] = "JP1001";
row["title"] = "programming Microsoft NET";
row["price"] = 5999m;
row["ytd_sales"] = 100000;
row["type"] = "business";
row["pubdate"] = new DateTime(2002, 5, 1);
tableRowsAdd(row);
//更新数据库
adapterUpdate(table);
问题补充:把数据库中的数据添加到DataTable中,然后把DataTable做为DataGridSqlDataAdapter sda = new SqlDataAdapter(); sdaSelectCommand = cmd;
为什么你上面的都熟悉,却不熟悉datatable
datatable就是一张表
具体如下:
创建完dataset对象以后,就可以创建dataadapter对象来填充datatable对象在dataadpter对象上调用fill方法,然后指定想要填充的datatable对象
下面的代码使用名字薇da的dataadpter来填充dataset对象ds的authors表:
dafill(ds,"authors");
访问datatable:
在dataset对象中放置数据之后,就可以通过编程的方式访问数据如下面代码所示,每个dataset对象由一个或者多个datatable对象组成,就可以用名字或者顺序位置来指向这些datatable对象:
dstables["authors"];
或者
dstables[0];
datarow和datacolumn类是datatable类的主要组成部分可以使用datarow对象以及它的属性和方法来取出和计算datatable对象中的值
比如:
foreach(datacolumn col in dstables[0]columns)
{
lstitemsitemsadd(colcolumnname);
}
对在datatable对象中的行和列书面的计算允许在datatable对象中访问个别字段
比如,x是想访问的数据的行索引
dstables["authors"]rows[x][1];
dstables["authors"]rows[x]["fieldname"];
应该差不多了可以用了现在
其实你用着用着就会了
以上就是关于C#根据datatable 创建数据库的表全部的内容,包括:C#根据datatable 创建数据库的表、如何将DataTable更新到数据库中、datatable中的数据添加到SQL数据库里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)