0
私はsqliteテーブルからデータを取得しようとしており、それを1として使用しています。 これは私が得る例外私のコードInvalidCastException:ソースタイプから宛先タイプにキャストできません。 sqlite
string conn = "URI=file:DB.db"; //Path to database.
IDbConnection dbconn;
dbconn = (IDbConnection)new SqliteConnection(conn);
try
{
dbconn.Open(); //Open connection to the database.
}
catch (Exception ex)
{
throw ex;
}
IDbCommand dbcmd = dbconn.CreateCommand();
string sqlQuery = "SELECT * FROM mytable WHERE id =" + LevelID + "";
dbcmd.CommandText = sqlQuery;
IDataReader reader = null;
reader = dbcmd.ExecuteReader();
if (reader != null)
{
while (reader.Read())
{
string question = reader.GetString(0);
string cat = reader.GetString(1);
}
}
です:
InvalidCastException: Cannot cast from source type to destination type.
Mono.Data.Sqlite.SqliteDataReader.VerifyType (Int32 i, DbType typ)
Mono.Data.Sqlite.SqliteDataReader.GetString (Int32 i)
私はデータベースおよびフィールドをチェックしたが、「TEXT」であり、それに格納されたデータが文字列であると私は宣言していますそれでなぜそれがIntだと言うのですか?
ありがとうございます。私は第3列(文字列)ではなく、第2列(Int)を使用していました。私のコードを 'string cat = reader.GetString(2);に変更します。 '問題を解決しました。 –