问题描述
stringsql="insertinto图书信息表(条码,ISBN,产品形式,题名,题名拼音,出版社ID)"+"values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text.Trim()+"','"+textBox4.Text.Trim()+"',"+"'"+textBox5.Text.Trim()+"',"+comboBox1.SelectedValue+")";textBox1.text和textBox2.text文本框对应的字段都是数字型,comboBox1.SelectedValue对应的字段也是数字型,现在我对单引号和双引号用法不是很了解,请各位老师告诉学生一下之间的区别。谢谢
解决方案
解决方案二:
c#中""之间的是字符串,sql语句中用''表示char相关的数据类型。你调试中可以看到所得的值。
解决方案三:
textBox1.text和textBox2.text文本框对应的字段都是数字型,comboBox1.SelectedValue对应的字段也是数字型,textBox1.text里面获取的数据类型只能是string会自动隐式转换的。就上2楼的朋友说的一样。
解决方案四:
数字型不用引号字符型用单引号如values(0,'xxx')
解决方案五:
可以简单的理解为字符串在C#代码中要用"",在数据库中用''
解决方案六:
stringsql="insertinto图书信息表(条码,ISBN,产品形式,题名,题名拼音,出版社ID)"+"values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text.Trim()+"','"+textBox4.Text.Trim()+"',"+"'"+textBox5.Text.Trim()+"',"+comboBox1.SelectedValue+")";
//在C#当中,双引号所包含的表示他是一个字符串,eg."insertintot1(题名,题名拼音,出版社ID)"这就属于一个字符串在上面的SQL语句当中,所以涉及到变量,所以采用的了SQL语句字符拼接的方式进行的.eg.stringsql="insertinto图书信息表(条码,ISBN,产品形式,题名,题名拼音,出版社ID)"+"values('"+textBox1.Text+"','"sql这个字符串实际就是由"insertinto图书信息表(条码,ISBN,产品形式,题名,题名拼音,出版社ID)"子串加上"values('"再加上textBox1控件当中的值.因为在sql当中,字符串是由单引号标点的,所以我们在输入的时候必须人为的为其加上单引号,也就是'字符串'形式.而如果是数据是数值型,则不需要在其内容上加''标记,只需要直接使用插入控件的值就行,就如:textBox4.Text.Trim()
解决方案七:
在这里,单引号是作为值传给sqlserver,双引号是个符号是C#用的。
解决方案八:
我想问西门潇洒老师,你说的对,哪这条语句该怎样写呢?是不是我把第一个和第二个文本框的单引号去掉就可以了,不知我理解的对不对。
解决方案:
stringsql="insertinto图书信息表(条码,ISBN,产品形式,题名,题名拼音,出版社ID)"+"values("+textBox1.Text+","+textBox1.Text+",'"+textBox1.Text.Trim()+"','"+textBox1.Text.Trim()+"','"+textBox1.Text.Trim()+"',"+comboBox1.SelectedValue+")";
解决方案:
sql:数值类型和布尔类型都不需要''