string sql = "select alarmper from alarm where platenumber= " + "'" + platenumber +"'and color='" + color + "'";
try
{
SqlDataReader reader = SqlHelper.ExecuteReader(Conn, CommandType.Text, sql);
while (reader.Read())
{
alarmper = reader["alarmper"].ToString();
}
reader.Close();
}
catch
{
}运行后alarmper是空,但是我把sql换成"select alarmper from alarm",就能获取alarmper的值,为什么啊????????
try
{
SqlDataReader reader = SqlHelper.ExecuteReader(Conn, CommandType.Text, sql);
while (reader.Read())
{
alarmper = reader["alarmper"].ToString();
}
reader.Close();
}
catch
{
}运行后alarmper是空,但是我把sql换成"select alarmper from alarm",就能获取alarmper的值,为什么啊????????
你执行sql后看reader里面有值否?
放在查询分析器里运行就能得到alarmper的值啊
你的引号好像有问题
而且也没什么空格
因为platenumber color这些参数
我在同数据库另张表取出时已经Trim了,
和我在查询分析器里写的是一样的
我在查询分析器里就可以查询到alarmper的值
try
{
SqlDataReader reader = SqlHelper.ExecuteReader(Conn, CommandType.Text, sql);
while (reader.Read())
{
alarmper = reader["alarmper"].ToString().Trim();
}
reader.Close();
}
catch
{
}
如果直接这样写就可以得到alarmper的值
为什么啊!!!!!!
platenumber 是"张三"
color是"男"
这个双引号怎么去掉啊!!!
从局部变量里看sql的值是
"select alarmper from alarm where platenumber='张三'and color='男'"
晕倒了
各位老大看看啊
string sql = "select alarmper from alarm where platenumber= '" + platenumber +"'and color='" + color + "'";
try
{
SqlDataReader reader = SqlHelper.ExecuteReader(Conn, CommandType.Text, sql);
if(reader.Read())
{
alarmper = reader["alarmper"].ToString();
}
reader.Close();
}
catch
{
}
这样试试
try
{
SqlDataReader reader = SqlHelper.ExecuteReader(Conn, CommandType.Text, sql);
while (reader.Read())
{
alarmper = reader["alarmper"].ToString();
}
reader.Close();
}
catch
{
}
按这样写还是得不到值
如何我直接写
string sql = "select alarmper from alarm where platenumber='张三' and color='男'";
就可以了