【发布时间】:2018-08-06 04:32:07
【问题描述】:
这是两个设置表
我想创建一些类似用户在文本框中输入USER_ID 和USER_PWD 的内容。如果用户成功登录,它会说“HI + PATNAME”。
到目前为止,我已经创建了这段代码,但它不起作用。
string sqlStr = "Select patpro.'PATNAME' FROM patpro,useform where USER_ID=@name and USER_PWD=@password and useform.'USER_ID' = patpro.'USERID'";
cmd.Parameters.AddWithValue("@name", txtValue.Text);
cmd.Parameters.AddWithValue("@password", txtPassword.Password);
cmd.CommandText = sqlStr;
cmd.Connection = connection;
connection.Open();
MySqlDataReader login = cmd.ExecuteReader();
if (login.HasRows)
{
login.Read();
string name = (login["USER_ID"].ToString());
txtAssignID1.Text = "Login verified. Hi, " + name + "\n";
}
【问题讨论】:
-
怎么不工作了?尝试从字段名称中删除单引号并使用
while (login.Read())块将值分配给文本框(如果两个表具有相同的列 ID,也可以使用INNER JOIN和ON useform.USER_ID = patpro.USERID)。 -
什么样的“不工作”?错误、意外行为或什么?你做了什么调试?您是否检查过您的变量值是否符合您的预期?您是否在 Workbench 中运行了示例版本的查询来检查逻辑?这是一个足够简单的查询,但您仍然应该对其进行基本检查。如果你已经完成了所有这些,你应该在问题中提到它,那么我们就知道你在做什么。
-
它发现了一个错误
-
什么样的错误/异常?请详细解释错误。我怀疑你在读取结果时执行了错误的 SQL 语句或使用了错误的构造。
-
我们必须猜测错误吗?给我们一个线索。我们不是读心者。