1

リモートmysqlデータベースにレコードを追加しています。その後、追加されたかどうかを確認したいので、この特定のレコードを選択しようとしています。

私のコード:

    public void Select(string filename)
    {
        string query = "SELECT * FROM banners WHERE file = '"+filename+"'";

        //open connection
        if (this.OpenConnection() == true)
        {
            //create command and assign the query and connection from the constructor
            MySqlCommand cmd = new MySqlCommand(query, connection);

            //Execute command
            cmd.ExecuteNonQuery();

            //close connection
            this.CloseConnection();
        }
    }

サーバーからの応答を確認する方法は? それとも選択されたレコード?これは、C# Windows フォーム アプリです。

4

3 に答える 3

2

(追加の選択を使用して)別のラウンドトリップを行う代わりに、次のようにステートメントを挿入して展開できます。

SELECT LAST_INSERT_ID();

挿入コマンドを実行します

command.ExecureQuery();

最後に挿入されたレコードのIDを取得します。

MySQL情報関数を見てください

于 2012-07-18T23:51:43.143 に答える
1

これを試して:

public void Select(string filename)
{
        string query = "SELECT * FROM banners WHERE file = '"+filename+"'";

        //open connection
        if (this.OpenConnection() == true)
        {
                //create command and assign the query and connection from the constructor
                MySqlCommand cmd = new MySqlCommand(query, connection);

                //Get the DataReader from the comment using ExecuteReader
                            MySqlDataReader reader = cmd.ExecuteReader(); 
                while (myReader.Read())  
                { 
                    //Use GetString etc depending on the column datatypes.
                    Console.WriteLine(myReader.GetInt32(0)); 
                } 

                //close connection
                this.CloseConnection();
        }
}

詳細については、次の URL を確認してください: http://msdn.microsoft.com/en-us/library/haa3afyz(v=vs.100).aspx

于 2012-07-18T23:42:45.220 に答える
0

command.ExecuteNonQuery()forINSERTステートメント自体を実行すると、それを行うことができます。command.ExecuteNonQuery()影響を受ける行の数を返します(ケースに挿入されます)。そう

if(command.ExecuteNonQuery()>0)
{
 //inserted
}
else
{
 //Not inserted
}

http://dev.mysql.com/doc/refman/5.1/en/connector-net-ref-mysqlclient.html#connector-net-ref-mysqlclient-mysqlcommand-executenonquery

于 2012-07-19T04:57:40.953 に答える