1
エラー返さ:"1つまたは複数の必須パラメータに値が指定されていません。 Select AccessのC#のシンプル
"は値が1つ以上の必要なパラメータのために与えられていません"関数に渡す
文字列配列:IDの
String[,] arrParams = new String[1, 2] {
{"@ToUpper_user_id", id}
};
値:
"test" (without the quotes)
SQL:
strSQL = "select * from users where ToUpper_user_id = ?;";
SQL関数呼び出し:DBからデータを取得するために呼び出す
if (jdb.getdb_data(strSQL, arrParams, strTableName, out dsGet, out strTechMessage))
{
...
}
機能:
public static bool getdb_data(String strSQL, String[,] arrParams, String strTableName, out DataSet dsGet, out String strTechMessage)
{
bool boolRC = true;
String key = String.Empty;
String val = String.Empty;
dsGet = new DataSet();
strTechMessage = String.Empty;
String strSQL_Empty = String.Empty;
string connectionString = jdb.getConnString();
using (OleDbConnection connection =
new OleDbConnection(connectionString))
{
OleDbCommand command = new OleDbCommand(strSQL, connection);
if (arrParams.GetLength(0) > 0)
{
for (int i = 0; i < arrParams.GetLength(0); i++)
{
for (int j = 0; j < arrParams.GetLength(1); j++)
{
if (j.Equals(0)) { key = arrParams[i, j]; }
if (j.Equals(1)) { val = arrParams[i, j]; }
}
command.Parameters.AddWithValue(key, val);
}
}
else
{
boolRC = false;
strTechMessage = "No parameters found";
}
// Open the connection in a try/catch block.
// Create and execute the DataReader, writing the result
// set to the console window.
if (boolRC)
{
try
{
connection.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(strSQL, connection);
adapter.Fill(dsGet, strTableName);
}
catch (Exception ex)
{
boolRC = false;
strTechMessage = ex.Message;
}
}
}
return boolRC;
}
助けてください - 私は非常識やったと思います! (。。。。パラメータで更新CRUDは、すべての作品だけを選択したコードは私にエラーを与えている)
本当にToUpper_user_idという名前の列がありますか? – Steve
これを修正すると、あなたの将来に 'datatype mismatch'エラーが表示されます。 – Plutonix