1

アダプタを使用してMySQLクエリからのデータをデータテーブルに入力しようとすると、エラーが発生します。

VisualStudioは、「入力文字列が正しい形式ではありませんでした」というエラーを次の行にadapter.Fill(myDataTable);示しています(この手順は、テキスト、varchar、および日時の値を含むいくつかの行を返す基本的なselectステートメントです)。

メソッドは次のように呼び出されます。GetDataTable("CALL SomeProc()");

public static DataTable GetDataTable(string query)
{
    string ConnString = ConfigurationManager.ConnectionStrings["randomconnstr"].ConnectionString.ToString();
    MySqlConnection conn = new MySqlConnection(ConnString);
    MySqlDataAdapter adapter = new MySqlDataAdapter();
    adapter.SelectCommand = new MySqlCommand(query, conn);

    DataTable myDataTable = new DataTable();

    conn.Open();
    try
    {
        adapter.Fill(myDataTable);
    }

    finally
    {
        conn.Close();
    }
    return myDataTable;
}
4

2 に答える 2

1

これを変更してみてください

GetDataTable("CALL SomeProc()");

これに:

GetDataTable("SomeProc");
于 2013-01-29T16:00:53.923 に答える
1

引用符がありません。文字列を閉じているようには見えません。

GetDataTable(@"CALL SomeProc()");

編集 **

これを追加してみてください:-

adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
于 2013-01-29T16:18:48.490 に答える