0

我想使用带有字符串值的类似查询。我是这样写的,'_' 用于接受字符串中的字符。但它不起作用。查询字符串是否正确?请帮忙 。

userName = nvc["user_name"];

string userName_Remove_First = userName.Substring(1); //Removes the first character of userName 
string Last = userName_Remove_First.Remove(userName_Remove_First.Length - 1); //Removes the last character of userName_Remove_First

SqlCommand cmd = new SqlCommand("select student_id,student_name from student_details where student_id   LIKE ('"+last+"_') ", con);
SqlDataReader dr = cmd.ExecuteReader();
4

4 回答 4

1

这就是您可以使用Like Query的方式

以下 SQL 语句选择名称以字母“s”开头的所有员工:

SELECT * FROM Employee
WHERE EmployeeName LIKE 's%';

关于上面的例子,我稍微修改了你的查询

 string cmd = select student_id,student_name from student_details where student_id  
 LIKE ('"+Last+"%') and len(student_id) = "+Last.Length+1;

因此,如果您的表有记录 HALF,HALFER,HAF,HAG并且您的用户名是,AHAR那么您的 OP 将是 HAF,HAG

于 2013-10-04T11:52:00.520 回答
0

试试这样的事情:

string last= "A";
Select * from Students Where StudentID LIKE '"%+last+"'

或 从 StudentID LIKE '"+last+%"' 的学生中选择 *

于 2013-10-04T12:21:04.763 回答
0

尝试这个

    SqlCommand cmd = new SqlCommand("select student_id,student_name from student_details where student_id   LIKE "+last+"_", con);
于 2013-10-04T11:54:26.847 回答
0

假设您要查找student_id内容以 开头的学生Last,您可以执行以下查询:

var cmd = new SqlCommand("select student_id,student_name from student_details where student_id   LIKE @term", con);
cmd.Parameters.AddWithValue("@term",Last + "%");
SqlDataReader dr = cmd.ExecuteReader();

如果你只需要ID只要Last加上1个字符的学生,你可以使用

cmd.Parameters.AddWithValue("@term",Last + "_");
于 2013-10-04T12:11:52.830 回答