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クエリを使用する方法です

次の 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

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 がプラス 1 文字の学生のみが必要な場合は、Last使用できます

cmd.Parameters.AddWithValue("@term",Last + "_");
于 2013-10-04T12:11:52.830 に答える
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 に答える