1
这工作正常,如果我硬编码用户名。不会使用参数,我尝试了很多不同的方式。我错过了什么?当我使用参数时,表格总是以零计数结束。参数不工作的SQL查询 - 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.oracleparameter.parametername(v=vs.110).aspx#Anchor_2 – Nkosi