0

我有一个名称存储在一个名为“name”的会话变量中。我已经写了声明:

da = new SqlDataAdapter("Select empID from emp where empFirstName=' "+
                         Session["name"].ToString() + " '", connstring);
da.Fill(ds);

我已经验证会话变量不为空。但是我无法获取表中存在的记录的 empID。这个说法正确吗?

4

2 回答 2

2

SQL 语句中字符串变量的开头和结尾有空格。

试试这个,它应该工作:

da = new SqlDataAdapter("Select empID from emp where empFirstName='"+
                     Session["name"].ToString() + "'", connstring);
于 2013-04-01T09:03:30.243 回答
0

问题在于这里的空格:

' " + Session["name"].ToString() + " '"
 ^                                  ^
 |                                  |

这就是为什么值以空格为后缀和前缀的原因。

你应该试试:

da =  new SqlDataAdapter (
"Select empID from emp where empFirstName='" + Session["name"].ToString() + "'",
connstring);

da.Fill(ds);
于 2013-04-01T09:04:48.907 回答