一个SQL插入语句:变量带括号

vagrant1124 2007-05-18 09:55:50
如这条语句:insert into Base_MileStandard (FParentID,FCode,FName,FLowMile,FTopMile,FPerMile,FPerMoney) values (@上级组,@代码,@名称,@最低标准(厘米),@最高标准(厘米),@增加量(厘米),@增加金额)
把括号去掉就可以进行插入操作了,不去掉就报语法错误。数据库不能改,请问如何解决?
...全文
6884 77 打赏 收藏 转发到动态 举报
写回复
用AI写文章
77 条回复
切换为时间正序
请发表友善的回复…
发表回复
vagrant1124 2007-05-24
  • 打赏
  • 举报
回复
不是中文转换,是将()转换。
vagrant1124 2007-05-24
  • 打赏
  • 举报
回复
按我们老总的意思是可以写个类,将中文转换,是不是可以啊?
lyamlf_net 2007-05-22
  • 打赏
  • 举报
回复
直接用转义符\不就行了。
vagrant1124 2007-05-22
  • 打赏
  • 举报
回复
好昏!没有人能帮我?
wuxing2006 2007-05-21
  • 打赏
  • 举报
回复
..参数用英文不就得了,或者去掉括号跟值又没有关系
huankfy 2007-05-21
  • 打赏
  • 举报
回复
fname1 = fname1 + "@" + fname[i].ToString() + ",";好像不能得到"(@上级组,@代码,@名称,@最低标准(厘米),@最高标准(厘米),@增加量(厘米),@增加金额)"
而是"(@上级组,@代码,@名称,@最低标准(厘米),@最高标准(厘米),@增加量(厘米),@增加金额,)",多出了","
最后就造成了values(.......)里面出了问题,也就是生成的sql语句出问题了
outh24 2007-05-21
  • 打赏
  • 举报
回复
而且没看懂楼主的代码,变量是变量,值是值,
变量叫什么名字和你插入的值没有一丁点关系。

你的代码里一定应该还有给变量赋值的语句。
outh24 2007-05-21
  • 打赏
  • 举报
回复
插入的时候用别的符号代替括号,取出的时候再换回来不就行了?
以前处理回车的时候都是和<br>来回换的。
acmilan1984 2007-05-21
  • 打赏
  • 举报
回复
建议sql语句专门提取出来生成后,将其内容直接放置到SQL查询分析器调用。
yjddit 2007-05-21
  • 打赏
  • 举报
回复
加 N'变量'
vagrant1124 2007-05-21
  • 打赏
  • 举报
回复
呵呵
是个中文描述哦,就想这样。变量名():Textbox
取的就是Textbox里面的值。
ASDC001 2007-05-21
  • 打赏
  • 举报
回复
好久没用SQL server
但是记得@后面好像是变量啊。
既然是变量,为什么要搞这么复杂的变量,这不是硬要给自己找些麻烦吗?
SwordBayonet 2007-05-21
  • 打赏
  • 举报
回复
改成:
insert into Base_MileStandard (FParentID,FCode,FName,FLowMile,FTopMile,FPerMile,FPerMoney) values (?,?,?,?,?,?,?)
试试.
xmduane 2007-05-21
  • 打赏
  • 举报
回复
变量名有必要这么复杂吗?。。。。
IT_zen 2007-05-18
  • 打赏
  • 举报
回复
中文变量??????

你把小括号去掉就行了呗,为什么非弄成那样的变量.
jiangkeredgirl 2007-05-18
  • 打赏
  • 举报
回复
特殊字符啊,好像$($) 这样可以吧
vagrant1124 2007-05-18
  • 打赏
  • 举报
回复
其实关键问题在于()
因为在数据库中把这个中文字段名的()去掉了就OK了什么都解决了。但加上了什么都不行了
vagrant1124 2007-05-18
  • 打赏
  • 举报
回复
sqlname1 = sqlname1 + sqlname[i].ToString() + ", ";
可以得到(FParentID,FCode,FName,FLowMile,FTopMile,FPerMile,FPerMoney)
fname1 = fname1 + "@ " + fname[i].ToString() + ", ";
可以得到(@上级组,@代码,@名称,@最低标准(厘米),@最高标准(厘米),@增加量(厘米),@增加金额)

上级组这些只是作为FParentID的中文字段描述,然后插入的时候是显示中文字段表头
trainli 2007-05-18
  • 打赏
  • 举报
回复
fname1 = fname1 + "@" + fname[i].ToString() + ",";------------這一句你得到的是什么你說一下???

dr[0].ToString() -------這又是什么樣的值??
dr[1].ToString() -------這又是什么樣的值??

"@" + fname[i].ToString() +----------你這樣已經是把一個fname[i].ToString()當作為一個變量參數﹐要再接收變量象執行存儲過程那樣﹗現在你要插入的是fname[i].ToString()而你現在又加@又作為變量﹐這變量又不知道從那里來﹗真不解你的代碼﹗
g_lbz 2007-05-18
  • 打赏
  • 举报
回复
看不太明白lz的代码
不过既然直接插入没有问题的话
有可能是因为()在是特殊字符吧,不能够直接作为值付给变量吧
lz可以将需要的参数获得string str=@"value";
然后在插入
加载更多回复(57)

62,074

社区成员

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

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

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

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