から列タイプを取得できませんいくつかのコードです:がここデータベース
OdbcConnection connection = new OdbcConnection(@"DRIVER={MySQL ODBC 5.1 Driver};SERVER=" + ip + ";DATABASE=db_name;USER=user;PASSWORD=" + dbPw + ";");
connection.Open();
string queryString = query;
OdbcCommand command = new OdbcCommand(queryString);
command.Connection = connection;
OdbcDataReader myReader = command.ExecuteReader();
int fieldsN = myReader.FieldCount;
StringBuilder sb = new StringBuilder();
while (myReader.Read())
{
for (int i = 0; i < fieldsN; i++)
{
sb.Append(myReader.GetString(i) + " ");
}
sb.Append(", ");
}
connection.Close();
//Console.WriteLine(sb.ToString());
このコードは、 "some_table SELECT * FROM" などのクエリで正常に動作します "some_table FROM(何か、something_else)を選択します。"
ただし、 "SHOW COLUMNS FROM some_table"を使用すると失敗します。
は、ここで私は取得エラーです:
型のオブジェクトをキャストできません「System.DBNull」「可能System.String」を入力します。
このエラーは、myReader.GetString()行のどこかで発生します。
myReader.GetString(i)がSystem.DBNullでないかどうかを確認するif文を作成しようとしました。私が何をしても、いつもエラーが出ます。私は何が起こっているのか分からない。
ありがとうございました!
私は感謝、まさに必要。 –