0

このコードを使用して Web サービスにアクセスしようとしています。テキスト ボックス コントロールを含む既定のページも追加しましたが、実行中はテキスト ボックスのみが表示されます。また、Web 構成に適切なパスを指定してデータベースを追加しましたが、まだ機能していません。私を助けてください。マシンの IP アドレスからアクセスしようとしていますが、エラーが返されます。インストールは必要ですか?

public static List<string> getinfo(string prefixText)
    {
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
        conn.Open();
        SqlCommand cmd = new SqlCommand("select*from raj where firstname like +'%'", conn);
        cmd.Parameters.AddWithValue("@firstname", prefixText);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        List<string> firstname = new List<string>();
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            firstname.Add(dt.Rows[i][0].ToString());
        }
        return firstname;
    }

実行中、エラーは返されません。

4

1 に答える 1

0

@firstnameあなたはコマンドを逃した

SqlCommand cmd = new SqlCommand("select*from raj where firstname like '%'+@firstname
+'%'", conn); 

または2番目の方法..

SqlCommand cmd = new SqlCommand("select*from raj where firstname like @firstname", conn);         
cmd.Parameters.AddWithValue("@firstname", "%"+prefixText+"%"); 

編集:- このコードを試してください..SqlReaderを使用して....

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
     conn.Open();
SqlCommand cmd = new SqlCommand("select*from raj where firstname like  @firstname", conn);
     cmd.Parameters.AddWithValue("@firstname","%"+prefixText+"%");        
     List<string> firstname = new List<string>();


     using (SqlDataReader reader = cmd.ExecuteReader())
     {
         while (reader.Read())
         {
            firstname.Add(reader[0].ToString());
         }             
         reader.Close();
     }
     connection.Close(); 
     return firstname; 
于 2012-09-21T07:34:58.040 に答える