1
ユーザー名をハードコードすると問題なく動作します。パラメータでは動作しません。さまざまな方法で試しました。私は何が欠けていますか?パラメータを使用すると、テーブルは常にゼロカウントで終了します。パラメータが有効でないSQLクエリ - Oracle DBを使用するASP.NET
文字列に使用するOracleパラメータの種類についてはprotected void LogIn(object sender, EventArgs e)
{
OracleConnection con = TTTrackerConnection.DevDBConnection();
String myUserName = UserName.Text;
DataSet user_ds = new DataSet();
String myPW = Password.Text;
using (con)
{
con.Open();
String sql = "SELECT USER_PW FROM TT_USER WHERE USER_LOGINNAME = :username";
OracleCommand cmdFindUser = new OracleCommand(sql, con);
OracleParameter uname = cmdFindUser.CreateParameter();
uname.ParameterName = "username";
uname.OracleDbType = OracleDbType.Varchar2;
uname.Value = UserName.Text;
cmdFindUser.Parameters.Add(uname);
OracleDataAdapter oda = new OracleDataAdapter(cmdFindUser);
oda.Fill(user_ds);
con.Close();
}
if (user_ds.Tables[0].Rows.Count != 0)
{
String userPW = user_ds.Tables[0].Rows[0].Field<string>("USER_PW");
if (myPW == userPW)
{
lblPasswordResult.Text = "Password Matched";
}
else
{
lblPasswordResult.Text = "Password does not Match";
}
}
else
{
lblPasswordResult.Text = "Login not found";
}
}//end Login button click method
'ParameterName'の先頭に': 'を付ける必要がありますか? – DavidG
@DavidG私はそれを試しましたが、結果に違いはありませんでした。困惑。 –
@DavidGはクエリでのみ使用できます。 https://msdn.microsoft.com/en-us/library/system.data.oracleclient.oracleparametername(v=vs.110).aspx#Anchor_2 – Nkosi