C# DataSet更新不了数据库
oledap.Fill(ds,"dfdf");DataRow[]drCurrent=ds.Tables["dfdf"].Select("sd='asdfasf'");if...
oledap.Fill(ds, "dfdf");
DataRow []drCurrent = ds.Tables["dfdf"].Select("sd='asdfasf'");
if (drCurrent.Length == 0) MessageBox.Show("0000");
else
{
drCurrent[0].Delete();
ds.Tables["dfdf"].AcceptChanges();
}
MessageBox.Show(oledap.Update(ds, "dfdf").ToString());
//结果:0 //即更新0行..
我的测试:
ds,未删除行时:count=3
执行删除count=2
但是执行update时.返回0?????为什么,,??我找了两天了...
用一个oledap.DeleteCommand的对象可以删除,不过不是用DataSet更新的,而且还要新定义一个Connection对象,,我试过的,可以删除,
但我还是想问DataSet更新的方法,,,,谁帮我看看..谢谢
测试过:
drCurrent.Length =1
灵雨飘零 朋友,,谢谢您的回答,,
想问下.
OleDbCommandBuilder 申请了,有什么用 展开
DataRow []drCurrent = ds.Tables["dfdf"].Select("sd='asdfasf'");
if (drCurrent.Length == 0) MessageBox.Show("0000");
else
{
drCurrent[0].Delete();
ds.Tables["dfdf"].AcceptChanges();
}
MessageBox.Show(oledap.Update(ds, "dfdf").ToString());
//结果:0 //即更新0行..
我的测试:
ds,未删除行时:count=3
执行删除count=2
但是执行update时.返回0?????为什么,,??我找了两天了...
用一个oledap.DeleteCommand的对象可以删除,不过不是用DataSet更新的,而且还要新定义一个Connection对象,,我试过的,可以删除,
但我还是想问DataSet更新的方法,,,,谁帮我看看..谢谢
测试过:
drCurrent.Length =1
灵雨飘零 朋友,,谢谢您的回答,,
想问下.
OleDbCommandBuilder 申请了,有什么用 展开
3个回答
展开全部
这是链接Access数据库的一个例子,希望对你有用!
public class DBCon
{
string strCon;
string strPath;
public DBCon()
{
strPath = Application.StartupPath + "\\Drawing.mdb";
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + strPath;
}
public DBCon(string dbCon)
{
this.strCon = dbCon;
}
//查询语句
public DataSet Query(string strSql)
{
DataSet ds = new DataSet();
using(OleDbConnection oleCon=new OleDbConnection(strCon))
{
OleDbDataAdapter oleDap = new OleDbDataAdapter(strSql,strCon);
oleDap.Fill(ds);
}
return ds;
}
public object Scale(string strSql)
{
object obj="";
using (OleDbConnection oleCon = new OleDbConnection(strCon))
{
oleCon.Open();
OleDbCommand oleCom = new OleDbCommand();
oleCom.Connection = oleCon;
oleCom.CommandText = strSql;
obj = oleCom.ExecuteScalar();
}
return obj;
}
//增删改语句
public int Updata(string strSql)
{
int t = 0;
using (OleDbConnection oleCon = new OleDbConnection(strCon))
{
oleCon.Open();
OleDbCommand oleCom = new OleDbCommand();
oleCom.Connection = oleCon;
oleCom.CommandText = strSql;
t = oleCom.ExecuteNonQuery();
}
return t;
}
//更新dataset实现添加修改删除
public void Updata(string strSql,DataSet ds)
{
using (OleDbConnection oleCon = new OleDbConnection())
{
OleDbDataAdapter oleDap = new OleDbDataAdapter(strSql,strCon);
OleDbCommandBuilder oleComBuilder = new OleDbCommandBuilder();
oleDap.Update(ds);
}
}
}
public class DBCon
{
string strCon;
string strPath;
public DBCon()
{
strPath = Application.StartupPath + "\\Drawing.mdb";
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + strPath;
}
public DBCon(string dbCon)
{
this.strCon = dbCon;
}
//查询语句
public DataSet Query(string strSql)
{
DataSet ds = new DataSet();
using(OleDbConnection oleCon=new OleDbConnection(strCon))
{
OleDbDataAdapter oleDap = new OleDbDataAdapter(strSql,strCon);
oleDap.Fill(ds);
}
return ds;
}
public object Scale(string strSql)
{
object obj="";
using (OleDbConnection oleCon = new OleDbConnection(strCon))
{
oleCon.Open();
OleDbCommand oleCom = new OleDbCommand();
oleCom.Connection = oleCon;
oleCom.CommandText = strSql;
obj = oleCom.ExecuteScalar();
}
return obj;
}
//增删改语句
public int Updata(string strSql)
{
int t = 0;
using (OleDbConnection oleCon = new OleDbConnection(strCon))
{
oleCon.Open();
OleDbCommand oleCom = new OleDbCommand();
oleCom.Connection = oleCon;
oleCom.CommandText = strSql;
t = oleCom.ExecuteNonQuery();
}
return t;
}
//更新dataset实现添加修改删除
public void Updata(string strSql,DataSet ds)
{
using (OleDbConnection oleCon = new OleDbConnection())
{
OleDbDataAdapter oleDap = new OleDbDataAdapter(strSql,strCon);
OleDbCommandBuilder oleComBuilder = new OleDbCommandBuilder();
oleDap.Update(ds);
}
}
}
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
展开全部
DataTable dt1 = new DataTable();
dt1.Columns.Add("id");
dt1.Columns.Add("carId");
dt1.Columns.Add("picName");
dt1.Columns.Add("picSize");
dt1.Columns.Add("picMemo");
dt1.Columns.Add("CarNum");
dt1.Columns.Add("PgPrice");
DataRow dr = dt1.NewRow();
dr["id"] = dr1["id"];
dr["carId"] = dr1["carId"];
dr["picName"] = dr1["picName"];
dr["picSize"] = dr1["picSize"];
dr["picMemo"] = dr1["picMemo"];
dr["CarNum"] = dr1["CarNum"];
dr["PgPrice"] = dr1["PgPrice"];
dt1.Rows.Add(dr);
插入之前判断文本框的值,如果为空,则赋值System.DBNull.Value
dt1.Columns.Add("id");
dt1.Columns.Add("carId");
dt1.Columns.Add("picName");
dt1.Columns.Add("picSize");
dt1.Columns.Add("picMemo");
dt1.Columns.Add("CarNum");
dt1.Columns.Add("PgPrice");
DataRow dr = dt1.NewRow();
dr["id"] = dr1["id"];
dr["carId"] = dr1["carId"];
dr["picName"] = dr1["picName"];
dr["picSize"] = dr1["picSize"];
dr["picMemo"] = dr1["picMemo"];
dr["CarNum"] = dr1["CarNum"];
dr["PgPrice"] = dr1["PgPrice"];
dt1.Rows.Add(dr);
插入之前判断文本框的值,如果为空,则赋值System.DBNull.Value
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
灵雨飘零 朋友,,谢谢您的回答,, 不过您的一些代码,我看不太懂,
这个后面的代码是什么意思,,//更新dataset实现添加修改删除
还有using 怎么有这个用法,,没见过,,还有,,对象OleDbCommandBuilder 申请了,没看到作用,,为什么要申请??
谢谢
??到底是什么作用啊...
这个后面的代码是什么意思,,//更新dataset实现添加修改删除
还有using 怎么有这个用法,,没见过,,还有,,对象OleDbCommandBuilder 申请了,没看到作用,,为什么要申请??
谢谢
??到底是什么作用啊...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询