一个Forms窗体上放了两个button按钮。。。
string t = DateTime.Now.ToString();
string inSert = "insert into attendance(userid,time)values (@Id '" + t + "')";
请问@id那里怎么声明让用户id同步写到数据库
C#/asp.net/必须声明标量变量 "@Id"。
答案:5 悬赏:60 手机版
解决时间 2021-02-06 15:10
- 提问者网友:贪了杯
- 2021-02-06 09:29
最佳答案
- 五星知识达人网友:刀戟声无边
- 2021-02-06 11:08
给数据库操作中的sqlcommand,加上parameter,@变量 通常用于存储过程或函数的占位符,通过parameter进行操作
sqlparameter para = new sqlparameter("Id",id的数据库类型);
para.value = id值
sqlcommand.parameters.add(para);
cmd.executenonquery() ;
上述你按照你现有的要求写的部分代码
如果你是初学者,可以考虑直接拼接,虽然这种实际当中并不提倡,怕导致sql注入
假设Id在数据库中为int类型
int id = getid();
那么string sqlStr = "insert into attendance(userid,time)values ( "+id+",'"+ t + "')";
注意你这time数据库字段是否字符型(varchar或nvchar),否则必须用相应数据库的时间转换函数进行转换
sqlparameter para = new sqlparameter("Id",id的数据库类型);
para.value = id值
sqlcommand.parameters.add(para);
cmd.executenonquery() ;
上述你按照你现有的要求写的部分代码
如果你是初学者,可以考虑直接拼接,虽然这种实际当中并不提倡,怕导致sql注入
假设Id在数据库中为int类型
int id = getid();
那么string sqlStr = "insert into attendance(userid,time)values ( "+id+",'"+ t + "')";
注意你这time数据库字段是否字符型(varchar或nvchar),否则必须用相应数据库的时间转换函数进行转换
全部回答
- 1楼网友:詩光轨車
- 2021-02-06 13:12
string inSert="Insert into attendace(userid,time)values( "id",t);
这样不就能写入里边了吗 id 和时间两个字段
- 2楼网友:慢性怪人
- 2021-02-06 12:59
@Id 你这个变量值的类型定义了没有?它的值从哪个地方获取,你给它赋值没有? sql标准语句里面的少了个豆号看到没有? 解决完上面说的这3个问题 ,问题就解决了
- 3楼网友:詩光轨車
- 2021-02-06 11:55
这里的@id是在哪里给值的,
还是"@id“是要存入数据库中的数据,如果是加上@id=>'@id'
- 4楼网友:怀裏藏嬌
- 2021-02-06 11:27
在sql语句中如果用了这这种@Id变量,就要
给他指定一个值
类似与这样 SqlParameter paramname = new SqlParameter("@UserName",txtname.Text.Trim());
cmd.Parameters.Add(paramname);
参数的设置txtname.Text.Trim()这个值你根据自己的换
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯