使用c#对access数据库中某一行进行update的问题

llinkin 2010-01-05 09:28:58
晚上更新数据库的时候发现可以更行一行,数据库只是太烂了,在此发帖求救各位大侠:
我有个表pro 中有name,date,intro字段,想问下,怎么来使用update更新某一行代码,是update pro set name=xx,date=xx,intro=xx where name=yy 吗?
那具体的读取数据库和更新语句怎么写啊,实在不会了 谢了!
...全文
473 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdlpc 2010-01-05
  • 打赏
  • 举报
回复
否则,不能更新的。
gdlpc 2010-01-05
  • 打赏
  • 举报
回复
而且ACCESS表中一定要有一个字段是关键字段(主键索引),一般把自动编号的id定为主键
gdlpc 2010-01-05
  • 打赏
  • 举报
回复
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|\\123.mdb");
conn.Open();//更新一行,你就先取出name=yy这一行数据:
OleDbDataAdapter da = new OleDbDataAdapter("select * from bm where name="+ "'" + yy +"'", conn);//name=yy这一行数据
OleDbCommandBuilder cmd = new OleDbCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds, "pro ");

ds.Tables["pro "].Rows[0]["name"] = TextBox1.Text;// 你的XX
ds.Tables["pro "].Rows[0]["date"] = TextBox2.Text;// 你的XX
ds.Tables["pro "].Rows[0]["intro"] = TextBox3.Text;// 你的XX
da.Update(ds, "bm"); //ACCESS中要用此方法才能更新到数据库
newdigitime 2010-01-05
  • 打赏
  • 举报
回复
但是你必须在后面限定一个条件,如 where id=xx
否则会全表都改变.
newdigitime 2010-01-05
  • 打赏
  • 举报
回复
没错,就是
update pro set name=xx,date=xx,intro=xx where name=yy

如果xx yy是常量,且对应数据库中的类型不是数字,需要加上引号 如 ='xx'

llinkin 2010-01-05
  • 打赏
  • 举报
回复
OleDbConnection thisConnection = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + System.Web.HttpContext.Current.Server.MapPath("~/App_Data\\web1.mdb"));

string strUpdate = "UPDATE Production SET [p_name]@=Mod_name,p_date=@date,p_path=@path,p_intro=@intro WHERE [p_name]=@name";
OleDbCommand cmd = new OleDbCommand(strUpdate, thisConnection);
thisConnection.Open();
cmd.ExecuteNonQuery();
thisConnection.Close();
这样写的代码 ,但是老是报update出错, 而且好像 就出在 cmd.ExecuteNonQuery();
这上面,看下吧,帮个忙 呵呵
chen_ya_ping 2010-01-05
  • 打赏
  • 举报
回复
你可以去网上找下关于Access数据库的操作是如何进行的。我想有很多的资料。
llinkin 2010-01-05
  • 打赏
  • 举报
回复
"update pro set [name]=@name where name=@n 为什么要加@啊?
cmd.Parameters.AddWithValue("@name", ""); 这句是什么意思啊?
数据库忘完了,呵呵
wuyq11 2010-01-05
  • 打赏
  • 举报
回复
using(OleDbConnection conn = new OleDbConnection(""))
{
string strSql = "update pro set [name]=@name where name=@n ";
OleDbCommand cmd = new OleDbCommand(strSql, objConn);
cmd.Parameters.AddWithValue("@name", "");
cmd.Parameters.AddWithValue("@n", "");
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧