0

テーブルから値を取得したい。みんな私を助けてください。問題は、その値を取得して文字列値で確認したいということです。

このコードは機能していません:

SqlCeCommand cmd1 = new SqlCeCommand("SELECT username FROM tmpusername WHERE _id=1", connection);

SqlCeDataReader usernameRdr = null;

usernameRdr = cmd1.ExecuteReader();

while (usernameRdr.Read()){
    string username11 = usernameRdr["username11"].ToString(); 
}
4

5 に答える 5

2

username列へのアクセスに使用します。

string username11 = usernameRdr["username"].ToString(); 

select コマンドが指定Select usernameされており、後で を使用してアクセスしていusername11ます。そのため、値を取得していません。代わりに、例外を取得する必要があります。

于 2012-11-21T10:44:37.713 に答える
1

次のように変更します。

string username11 = usernameRdr["username"].ToString(); 

データ リーダー インデクサーは、SQL クエリの "SELECT username ..." である SQL 結果セット内の列の名前を取得します。

于 2012-11-21T10:44:20.633 に答える
1

NullReferenceExceptionを引き起こす可能性のあるデータベースから null 値が返されるのを防ぐために、dataReaderが最初に行を返すかどうかを確認したい場合があるため、次を使用します。

文字列 username11=string.empty;

if (usernameRdr.hasRows)
{
while (reader.Read())
{
username11=usernameRdr["username"].ToString();
}
}
于 2012-11-21T10:55:14.357 に答える
0

null値の変更を処理するために、

string username11 = Convert.ToString(usernameRdr["username"]); 
于 2012-11-21T10:53:35.810 に答える
0
string username11 = (string)usernameRdr["username"];

username11の代わりに間違った列名を入力しましたusername

于 2012-11-21T13:21:52.817 に答える