0

MySQL で ADO.NET を使用しています。

データを挿入するには、DataAdapter (MySqlDataAdapter) を使用します。

MySqlCommand insertCommand = new MySqlCommand(@"INSERT INTO Investments (InvestmentType)
                                                            VALUES (@InvestmentType); SET @ID=@@IDENTITY;"
                                                         , (MySqlConnection)Connection);
insertCommand.Parameters.Add("@InvestmentType", MySqlDbType.VarChar, 255, "InvestmentType");
DbParameter parameter = insertCommand.Parameters.Add("@ID", MySqlDbType.UInt32, 0, "ID");
parameter.Direction = ParameterDirection.Output;
((MySqlDataAdapter)InvestmentsAdapter).InsertCommand = insertCommand;
((MySqlDataAdapter)EmptyInvestmentsAdapter).InsertCommand = insertCommand;

@ID パラメーターは OUT パラメーターである必要があるため、Rows "ID" 列が満たされると予想されますが、"SET NULL=@@IDENTITY;" と評価されるため、MySQL で例外が発生し、問題が発生します。

何か案は ?

これは、Tim Cook の「Microsoft ADO.NET 4」に触発されたもので、私が MySQL を使用しているときに SQL Server を使用しているようです。MySQL Adapter の Out パラメータに関するドキュメントが見つかりません。

4

1 に答える 1

1

この記事は私にとって非常に役立つことが証明されています。

MSDN チュートリアル

よろしく、

ピーター

于 2013-08-01T21:43:11.447 に答える