1. sql变量问题
declare @s varchar(100),
@s1 varchar(100),
@s2 varchar(100)
select @s='dsfsd',
@s1='dsfsd',
@s2='dsfsd'
将这段加到前面
2. 用变量做SQL查询语句中的where条件时出现的错误
1、SELTCT--SELECT
2、order是数据库关键字,如果做表名要[order]中括号括起来
你把拼接完最后执行的sql语句print出来,去执行下比较容易看出错误
3. sql变量问题
肯定不是啊。。
如果你给同一个变量进行多次赋值,那这个变量的值就是最后一个值。
变量它的值是会变的。也就是可以改的嘛
4. SQL自定义变量问题
declare@PRDT_Bvarchar(20),@PRDT_Evarchar(20)--定义变量
set@PRDT_B=:PRDT_B!货号--赋值
if(@PRDT_B='')--条件当@PRDT_B值为空时
set@PRDT_B=(selectmin(prd_no)fromprdt)--从表prdt里查询出最小的prd_no的值来赋值
5. 关于SQL语句中使用变量的问题
插入进去的数据的类型不匹配. 以int型和nvarchar型为例,其他的像日期型的你自己发挥.
问:
存储过程这样的:
CREATE PROCEDURE insertxuesheng @xuehao int,@xingming varchar,@banji varchar,@zhuanye varchar,@nianling int,@xingbie varchar AS
insert 学生(学号,姓名,班级,专业,年龄,性别) values(@xuehao,@xingming,@banji,@zhuanye,@nianling,@xingbie)
代码这样的:
SqlCommand cmd = new SqlCommand("insertxuesheng", conn);
cmd.CommandType = CommandType.StoredProcere;
cmd.Parameters.AddWithValue("@xuehao", TextBox1.Text);
cmd.Parameters.AddWithValue("@xingming",TextBox2.Text);
cmd.Parameters.AddWithValue("@banji", TextBox3.Text);
cmd.Parameters.AddWithValue("@zhuanye", TextBox4.Text);
cmd.Parameters.AddWithValue("@nianling", TextBox5.Text);
cmd.Parameters.AddWithValue("@xingbie", TextBox6.Text);
cmd.ExecuteNonQuery();
插入数据后我去看数据库里的表,发现只有学号和年龄有数据,其他都是空值,怎么回事
答:
传入的数据类型不对.
因为学号和年龄是int型,所以传入TextBoxN.Text可以. 因为这时TextBoxN.Text = " 123", 实际上的SQL语句中就是:xuehao=123
而针对其他的字段,则都是字符型的,因此 在SQL语句中应该是: xingming = 'abc' .
而:cmd.Parameters.AddWithValue("@xingming",TextBox2.Text);
执行的结果是: xingming=abc.这当然就不行啦.
所以改为: cmd.Parameters.AddWithValue("@xingming","'" + TextBox2.Text + "'"); 就是给TextBoxN.Text前后各加一个引号再传给存储过程.
6. SQL 变量执行的问题
将EXEC ( 'SELECT * FROM Person.Person WHERE FirstName = ' + @OutVar);
改为
EXEC ( 'SELECT * FROM Person.Person WHERE FirstName = ''' + @OutVar + '''');
因为firstname是字符型的,所以你要加引号。
7. 请教perl中sql语句里使用变量问题
可以在sql里面使用变量的。如果你的变量里面含有一些特殊的转义字符,请使用DBI模块的quote功能;如果变量里面不含一些特殊的转义字符,则在sql语句里面直接用单引号即可。
8. php中sql语句带变量的问题
不行的,变量是要加大括号的,或者使用字符串连接符连接2个字符串。
1如果你的$meal是一个变量、mealnum是字符型的数据的列,就这样写:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum=‘{$meal}’");
2如果你的$meal是一个变量、mealnum是数字型的数据的列,就这样写:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum={$meal}");注意大括号外没单引号。
3如果你的$meal就职一个字符串、mealnum是字符型的数据的列,就这样写:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum=‘\$meal’");
4如果你的$meal就职一个字符串、mealnum是数字型的数据的列,那么就会错误了;
另外:
你已经说了$meal是一个字符型,所以就必须加两个单引号,如果是数字型就不需要单引号。
9. sql语句中变量与字符串连接问题
那要看你使用的是什么样的sql系统,如果使用的是标准的sql,一般可以这样写:
update
char
set
name=concat(name,"abc")
where
id=1;
这里要注意的是:concat是标准的字符串连接函数,你要保证你name属性的数据类型是字符串型的,还有,根据你使用的系统,决定引用字符串时是使用单引号还是双引号;如果你使用的系统是mysql,mssql或者其他的sql,一般还有对应的更加简洁的表达式。
还有,在有的sql系统里,你上面的表达式是可以使用的,只需把单引号换双引号即可。