データベースからデータを選択して、その値を文字列に保存して、後でプログラムで使用しようとしています。私は読者など何かを使わなければならないと信じていますか?クエリを選択して変数に保存する
これは正常に動作する選択クエリです。
私はDB2データベース/ Connectionを使用しています。
私は基本的にデータベースからIDを変数strIDに格納したいと思っています。
すべてのアイデア?
データベースからデータを選択して、その値を文字列に保存して、後でプログラムで使用しようとしています。私は読者など何かを使わなければならないと信じていますか?クエリを選択して変数に保存する
これは正常に動作する選択クエリです。
私はDB2データベース/ Connectionを使用しています。
私は基本的にデータベースからIDを変数strIDに格納したいと思っています。
すべてのアイデア?
はこれを試してみてください:
int ID = 0;
string strSelect = "";
strSelect = "SELECT ID FROM Database.Table WHERE TEXT = '" + strWrongText + "' ";
DB2Command cmdSelectID = new DB2Command(strSelect, db2Connection);
ID = cmdSelectID.ExecuteScalar();
はExecuteScalarを使用しているようです。暗黙的に型 'オブジェクト'を 'int'に変換できません。明示的な変換が存在します(キャストがありませんか?) – user6097989
Iveはこれを解決することができました ID =(int)cmdSelectID.ExecuteScalar(); あなたの答えは正常に動作します ありがとう – user6097989
int id;
string strSelect = "";
strSelect = "SELECT ID FROM Database.Table WHERE TEXT = @TEXT;";
using(DB2Command cmdSelectID = new DB2Command(strSelect, db2Connection))
{
cmdSelectID.Parameters.Add("@TEXT", "strWrongText");
using(DB2DataReader dr = cmdSelectID.ExecuteReader())
{
while(dr.Read())
{
id = (int)dr["ID"];
}
}
}
は常にSQLインジェクションを防ぐためにパラメータを使用します。 usingキーワードに注目してください。オブジェクトは正しく配置されています。あなたはデータベースから値を読み込み、それをあなたのデータ型に変換し、それをid変数intに代入します。
こんにちは、これはただ0を返します – user6097989
'var result = cmdSelectID.ExecuteQuery();' – dotctor
注射の脆弱性を避けるためにDB2Command.Parametersを使用してstrWrongTextの値を指定する必要があります。 –
こんにちは、毎回-1を返すようです。データベース内のIDが21であっても、@ Doctor – user6097989