我从一个数据库A中查询出一个数据集ds,然后将这个DS添加到另外一个数据库B中去,但是B数据库中没有更新,谁知道什么原因,两个表的结构是一样的,
查询出DS:
public static DataSet cedataset(string sql)
{
DataSet ds = new DataSet();
try
{
using (SqlCeConnection con = new SqlCeConnection(path))
{
con.Open();
SqlCeDataAdapter adapter = new SqlCeDataAdapter(sql, con);
adapter.Fill(ds);
con.Close();
return ds;
}
}
catch
{
ds = null;
return ds;
}
}将DS插入到另外一个数据库中去:(这里这个SQL语句和上面的查询SQL语句是一样的)
public static bool updatadb(DataSet ds,string sql,string tablename)
{
try
{ SqlConnection con = new SqlConnection(pub.strConn());
con.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, con);
SqlCommandBuilder sqlcmdbuilder = new SqlCommandBuilder(da);
da.Update(ds);//如果这里加了tablename提示找不到这个表
ds.Tables[0].AcceptChanges();//ds.AcceptChanges()也试过
con.Close();
return true;
}
catch(Exception ex)
{
return false;
}
}谁知道这种是什么原因??帮忙解答下,急
查询出DS:
public static DataSet cedataset(string sql)
{
DataSet ds = new DataSet();
try
{
using (SqlCeConnection con = new SqlCeConnection(path))
{
con.Open();
SqlCeDataAdapter adapter = new SqlCeDataAdapter(sql, con);
adapter.Fill(ds);
con.Close();
return ds;
}
}
catch
{
ds = null;
return ds;
}
}将DS插入到另外一个数据库中去:(这里这个SQL语句和上面的查询SQL语句是一样的)
public static bool updatadb(DataSet ds,string sql,string tablename)
{
try
{ SqlConnection con = new SqlConnection(pub.strConn());
con.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, con);
SqlCommandBuilder sqlcmdbuilder = new SqlCommandBuilder(da);
da.Update(ds);//如果这里加了tablename提示找不到这个表
ds.Tables[0].AcceptChanges();//ds.AcceptChanges()也试过
con.Close();
return true;
}
catch(Exception ex)
{
return false;
}
}谁知道这种是什么原因??帮忙解答下,急
解决方案 »
- datatable增加一列,並從另一表中更新該列
- 线程lock(){}作用迷惑?
- 用户注册问题
- 有关datagridview和窗体之间的问题
- 取得表中记录最快的方法
- 请问哪里有ASE ADO.NETdata provider 下?
- 怎样实现两个panel,中间有一条线连接,并且可以锁定其中一个panel,当拖动另外一个时,直线的长短和终点跟随变化?
- 一个星期可以开发出象云网那样的购物加BBS平台吗?
- 请问如何删除以前的ASP.NET项目啊,谢谢
- 我的硬盘有98和2000两个分区,请问我如何用2000下的工具调整分区大小
- 求助! VS2008上的控件无故消失! C#. 看来微软的工具也有BUG.....
- 请问,这个关于listbox的代码哪里错了
insert into 数据库A.dbo.表
select * from 数据库B.dbo.表
一定要用DataTable进行复制的话,必须先改变DataTable中各行的Rowstatus才行。
public static bool updatadb(DataTable dt)
{
try
{
SqlConnection con = new SqlConnection(pub.strConn());
con.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.InsertCommand = con.CreateCommand();
da.InsertCommand.CommandText = "INSERT INTO XXX VALUES(XXX)";//自己写insert语句,别告诉我你不会写SQL。
//有几个列,添加几个参数,注意参数名和列名书写正确。
da.InsertCommand.Parameters.Add(new SqlParameter("@参数1", SqlDbType.VarChar,20,"dt中对应的列名"));
//END
da.Update(dt);
con.Close();
return true;
}
catch (Exception ex)
{
return false;
}
}
public static void changeRowStatus(DataTable dt)
{
//请确保是刚从数据库中查询出来的DataTable,未经过任何改动,否则不允许删改行状态。
foreach (DataRow dr in dt.Rows)
{
dr.SetAdded();
}
}