C#中一个更新数据库的问题

shuai2ran 2010-02-01 11:06:55
我建了一个表,表如下:
键 类型
RepairID(主) Int
dormID varchar(50) (宿舍号)
DateIn datetime (报修日期)
DateRepair datetime (修理日期)
person varchar(50) (报修人)



现想实现对表中数据的修改,我写了如下sql语句:
sql = "update repair set dormID ='" + textBox1.Text.Trim() + "',person ='" + textBox2.Text + "',DateRepair='" + Convert.ToDateTime(dateTimePicker1.Text.Trim()) + where"'";

谁能给我说下where后面应该怎么写啊
...全文
103 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiongshao1943 2010-02-02
  • 打赏
  • 举报
回复
where后面跟条件
想改什么就改什么
flyfly2008 2010-02-02
  • 打赏
  • 举报
回复
where 后面是你要修改语句的条件
feifei313116 2010-02-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lzsh0622 的回复:]
引用 3 楼 shuai2ran 的回复:
由于主键为自动编号类型了,所以where后面得我就不知道怎么写了,你说的ID值肯定是无效的啊。

如果update(修改),你先要知道修改哪一条,因此,必须先select(或表中当前行)取得要修改行的关键字ID。

如果Insert(增加),你就不用考虑自增关键字了。
[/Quote]
这位仁兄说的没错,如果修改数据当然是先查询出来再修改喽,如果你没查询出来想数据但是你又想修改数据也不是不可以,你表中在设置一个唯一字段,因为ID是自动增长的,你设置一个非自动增长的字段来做唯一标示,做为索引,你根据这个索引区修改字段也行
panrengui 2010-02-02
  • 打赏
  • 举报
回复

sql = "update repair set dormID ='" + textBox1.Text.Trim() + "',person ='" + textBox2.Text + "',DateRepair='" + Convert.ToDateTime(dateTimePicker1.Text.Trim()) + "' where RepairID="+ID;

lz的问题不是很明确,楼上几位都写出来了,ID是个变量,根据你传来的ID来确定需要修改哪行。也可以直接改成你要的数字。如:where RepairID=2

ilovey4 2010-02-02
  • 打赏
  • 举报
回复
通过ID
holydie 2010-02-02
  • 打赏
  • 举报
回复
学习
不懂装懂 2010-02-02
  • 打赏
  • 举报
回复
...上面引号位置不太对,自己调下吧
不懂装懂 2010-02-02
  • 打赏
  • 举报
回复
update (表名) set (列名)=(值),... where (列名)=(值)
以你的表为例:
sql = "update repair set dormID ='" + textBox1.Text.Trim() + "',person ='" + textBox2.Text + "',DateRepair='" + Convert.ToDateTime(dateTimePicker1.Text.Trim()) + where RepairID='"+ID+"'";
Hamsic 2010-02-02
  • 打赏
  • 举报
回复
"... where RepairID = " + id ;
hbbliyong 2010-02-02
  • 打赏
  • 举报
回复
你找一个关键字修改就行了
xiong62397 2010-02-02
  • 打赏
  • 举报
回复
通过Id,每一个Id都是一个实体,除非你想全部修改,才不用WHERE
lzsh0622 2010-02-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shuai2ran 的回复:]
由于主键为自动编号类型了,所以where后面得我就不知道怎么写了,你说的ID值肯定是无效的啊。[/Quote]

如果update(修改),你先要知道修改哪一条,因此,必须先select(或表中当前行)取得要修改行的关键字ID。

如果Insert(增加),你就不用考虑自增关键字了。
shuai2ran 2010-02-01
  • 打赏
  • 举报
回复
肯定还是以主键来修改,由于主键为自动编号类型了,所以where后面得我就不知道怎么写了,2楼说的不对啊,你说的ID值肯定是无效的啊。有高手直接给我说说后面该怎么写啊,谢谢了
lzsh0622 2010-02-01
  • 打赏
  • 举报
回复
... + "where RepairID = "+ID;
ck11926375 2010-02-01
  • 打赏
  • 举报
回复
你是根据什么来修改表中的数据吗?
where后面就跟相应的条件撒。

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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