0

これは、dbテーブルから単一の行を選択し、対応するテキストフィールドにテキストを挿入するための私のコードです:

try
{
    MessageBox.Show("page=" + GlobalVars.id);
    Query = "select Id,Description from SaleItemList where Id = '" + 
        GlobalVars.id + "';";

    cmd = new SQLiteCommand(Query, GlobalVars.conn);

    dr = cmd.ExecuteReader();

    if ((dr != null) && (dr.HasRows))
    {
        while (dr.Read())
        {
            txttitle.Text = dr.GetString(1);
        }
    }

    dr.Close();
    cmd.Dispose();
} 
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

次のエラーが発生します。

指定されたキャストは無効です`

この行で:txttitle.Text = dr.GetString(1);または txttitle.Text = dr.GetString(2);

私のデータベーステーブルは次のとおりです。

CREATE TABLE "SaleItemList"
(
   "Id" INTEGER PRIMARY KEY  NOT NULL  UNIQUE ,
   "Description" VARCHAR NOT NULL  UNIQUE
)

私は何を間違っていますか?

4

0 に答える 0