sqlserver插入语句

qingzhen 2004-12-12 08:25:16
插入语句如下:
string mySelectQuery = "INSERT INTO Tran VALUES (tranid,transtr,choice,dt)";
其中tranid choice为int型、transtr为string型、而dt为datetime型。请问参数部分该如何写????
...全文
1246 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyi8808 2004-12-12
  • 打赏
  • 举报
回复
当然,表名、字段名,最好还是避免用关键字。
wuyi8808 2004-12-12
  • 打赏
  • 举报
回复
表名、字段名,用中括号括起来就不怕和关键字重
INSERT INTO [Tran] VALUES (...)
自然框架 2004-12-12
  • 打赏
  • 举报
回复
统统都用''引起来就行了,
常用的数据类型,都可以由字符串转换过来。


正常的是 “数字型”(包括 整数 、小数、货币 了什么的) 的 不用 ''

'' 就相当于 "" 里面的都是字符串

时间型的 要用'' 引起来当成字符串传进去 ,然后由SQL转成时间型的,前提是字符串的格式要正确。
qingzhen 2004-12-12
  • 打赏
  • 举报
回复
终于解决了!

问题出在表的名字Tran上,这是sqlserver的关键字$%&#@*,改了就ok啦!

谢谢 wuyi8808(C#)System.DateTime.Now.ToString 还有 cnhgj(戏子) (一个人睡) 仗义执言 :)
兔子-顾问 2004-12-12
  • 打赏
  • 举报
回复
System.Data.SqlClient.SqlException用try,catch拦截,messagebox显示一下,这个一场报错超级准确。我写的表达式不对的时候,都通过这个异常调试解决的。
qingzhen 2004-12-12
  • 打赏
  • 举报
回复
问题变成
在关键字 'Tran' 附近有语法错误!

郁闷死了,救命啊!
qingzhen 2004-12-12
  • 打赏
  • 举报
回复
执行时出问题了System.Data.SqlClient.SqlException
是怎么回事?
wuyi8808 2004-12-12
  • 打赏
  • 举报
回复
写错了,应该是这样:
string mySelectQuery =
string.Format("INSERT INTO Tran VALUES ({0},'{1}',{2},'{3}')",
tranid,transtr,choice,dt);

wuyi8808 2004-12-12
  • 打赏
  • 举报
回复
string mySelectQuery =
string.Format("INSERT INTO Tran VALUES ({0},'{1}','{2}')",
tranid,transtr,choice,dt);

这样写更清晰啦。

SQL语句中,数值型的字段不要加引号,字符型、日期型的字段要加单引号。

qingzhen 2004-12-12
  • 打赏
  • 举报
回复
to:cnhgj(戏子) (一个人睡)
我刚复制了你的语句后,编译正确。我不明白的是为什么有的参数要加单引号,有的不用呢??
snowday365 2004-12-12
  • 打赏
  • 举报
回复
楼上正解
cnhgj 2004-12-12
  • 打赏
  • 举报
回复
string mySelectQuery = "INSERT INTO Tran VALUES (" + tranid + ",'" + transtr + "'," + choice + ",'" + dt + "')";

Access
string mySelectQuery = "INSERT INTO Tran VALUES (" + tranid + ",'" + transtr + "'," + choice + ",#" + dt + "#)";

110,534

社区成员

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

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

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