datatable数据库中
‘壹’ datatable里的数据怎么插入数据库中的表中
var dt=new DataTable();
for int i=0 i<dt.rows.count i++
{
string sql="insert into xxoo values('"+dt.rows[i][0].tostring()+"','')"
exec(sql)
}
‘贰’ datatable插入到数据库中,出现的问题!急。
楼上说得完全正确,这是因为你的表明是数据库的关键字在查询的时候就会报错
一般我们在建表的时候会避免使用关键字。例如,name,order,case等。如果实在要用这样的名字在写sql语句时一定要加上两个中括号,[表名],[列名]。有些时候列名也一样。
‘叁’ DataTable中的数据筛选
对datatable数据各种筛选
筛选一个datatable的数据,赋值给另外一个datatable
假设:
有2个datatable:datatable
a、datatable
b。
要求:
筛选datatable
a中itemtype字段值为book的数据,然后把筛选出来的数据,赋给datatable
b
实现:
(1)方法一:通过
rowfilter
筛选实现
dataview
view
=
new
dataview();
view.table
=
a;
view.rowfilter
=
"itemtype
=
'book'";//itemtype是a中的一个字段
b=
view.totable();
(2)方法二:通过
select()筛选
datarow[]
rows
=
a.select("itemtype
=
'book'");
b=
a.clone();
//克隆a的结构
foreach
(datarow
row
in
rows)
{
b.importrow(row);//复制行数据
}
注:如果有多个筛选条件的话,可以加
and
或
or。例如:
a.select("itemtype
=
'book'
and
a='b'
or
a='c'");
‘肆’ c#中DataTable是否可以表示数据库中表的一个对象
是可以的。
public DataTable Query(string sql)
{
DataSet ds = null;
DataTable dt = null;
try
{
ds = new DataSet();
dt = new DataTable();
innerCommand.CommandText = sql;
innerDataAdapter.Fill(ds);
}
catch (Exception err)
{
throw err;
}
dt = ds.Tables[0].Copy();
return dt;
}
这是返回一个数据表对象的后台函数,在.cs文件中DataTable dt=对象.Query(sql),是可以的。
‘伍’ 如何将DataTable更新到数据库中
SqlDataAdapter adapter = new SqlDataAdapter(strSql, strConn);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
DataSet ds = new DataSet();
adapter.Fill(ds, "Titles");
//插入记录
DataTable table = ds.Tables["Titles"];
DataRow row = table.NewRow();
row["Title_id"] = "JP1001";
row["title"] = "programming Microsoft .NET";
row["price"] = 59.99m;
row["ytd_sales"] = 100000;
row["type"] = "business";
row["pubdate"] = new DateTime(2002, 5, 1);
table.Rows.Add(row);
//更新数据库
adapter.Update(table);
‘陆’ 请问你那个将datatable插入数据库中 是怎么弄的
1.foreach每行,插入进去
2.SqlBulkCopy整个DataTable一次性Copy进去
‘柒’ DataTable在几个数据库对象里面的作用是什么啊
为什么你上面的都熟悉,却不熟悉datatable?
datatable就是一张表........
具体如下:
创建完dataset对象以后,就可以创建dataadapter对象来填充datatable对象.在dataadpter对象上调用fill方法,然后指定想要填充的datatable对象....
下面的代码使用名字薇da的dataadpter来填充dataset对象ds的authors表:
da.fill(ds,"authors");
访问datatable:
在dataset对象中放置数据之后,就可以通过编程的方式访问数据.如下面代码所示,每个dataset对象由一个或者多个datatable对象组成,就可以用名字或者顺序位置来指向这些datatable对象:
ds.tables["authors"];
或者
ds.tables[0];
datarow和datacolumn类是datatable类的主要组成部分.可以使用datarow对象以及它的属性和方法来取出和计算datatable对象中的值.
比如:
foreach(datacolumn col in ds.tables[0].columns)
{
lstitems.items.add(col.columnname);
}
对在datatable对象中的行和列书面的计算允许在datatable对象中访问个别字段.
比如,x是想访问的数据的行索引
ds.tables["authors"].rows[x][1];
ds.tables["authors"].rows[x]["fieldname"];
应该差不多了.可以用了现在.
其实你用着用着就会了.....................
‘捌’ 怎么把DataTable里的值直接添加到数据库里
foreach(datarow dr in dt.rows)
{
string dym = dr["电影名"].toString();
......//类似的读取出 datatable里面的行的指定列的值;
Insert(参数);
}
public void Insert(string a,string b,string c,string,d,string e)
{
SqlConnetion sqlconn = new SqlConnection(“连接字符串");
sqlconn.open();
SqlCommand sqlcmd = new SqlCommand(sqlconn,"insert into biao values (a,b,c,d,e)");
sqlcmd.ExecuteNonQuery();
sqlconn.close();
}
‘玖’ 如何将datatable存到数据库中
这种想法不错,但是办不到,建议MS开发这种功能。
ASP中的Recordset可以办到,DataTable无法办到。