0

Mysql次のようなクエリがあります。

SELECT        id, nome, sigla
FROM            pais
WHERE    (estado=@estado)

パラメータを使用しない私のコードでは、単に次を使用します。

this.cidadeTableAdapter.Fill(this.anfeDataSet1.cidade); 

そして、すべてが大丈夫でしょう。

さらにパラメーターを使用して、パラメーターに値を設定し、TableAdapterに渡すにはどうすればよいですか?

4

2 に答える 2

0

これを見てください:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx

SqlCommand com = new SqlCommand("SELECT id, nome, sigla FROM  pais WHERE (estado=@estado)", connection);
com.Parameters.Add(new SqlParameter("estado", value)); 
        SqlDataAdapter cidadeTableAdapter = new SqlDataAdapter();
        cidadeTableAdapter.SelectCommand = this.com;
        DataSet set = new DataSet("return");
        cidadeTableAdapter.Fill(set);
        this.com.Connection.Close();
        return set;

最良のオプションは、データベースへの接続を使用することです。これにより、データベースを明示的に閉じる必要がなくなります。

于 2012-04-16T10:39:53.573 に答える
0
using (SqlConnection connection = new SqlConnection(connectionString)) //create connection
{
        connection.Open();//openconnection

        using (SqlCommand command = new SqlCommand("SELECT id, nome, sigla FROM  pais
WHERE (estado=@estado)", connection)) //create command
        {

             command.Parameters.Add(new SqlParameter("estado", value)); //add parameter

             SqlDataReader reader = command.ExecuteReader(); //execute reader
             while (reader.Read())
             {
                 ...... //read the data
             }
        }
    }
}
于 2012-04-16T10:38:01.713 に答える