gpt4 book ai didi

c# - 数据未更新到表

转载 作者:行者123 更新时间:2023-11-30 16:04:41 25 4
gpt4 key购买 nike

我正在尝试实现密码更改功能,但它似乎并不想工作。

 private void button3_Click(object sender, EventArgs e)
{

using (OleDbConnection con = new OleDbConnection(@"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\Users\User\Desktop\esoft\gym\gym\bin\Debug\Clients.accdb"))
{
DataTable dt = new DataTable();
con.Open();
errorProvider1.Clear();
if (dt.Rows[0][0].ToString() == "1")
{
if (textBox3.Text == textBox4.Text)
{

OleDbDataAdapter da = new OleDbDataAdapter(" COUNT (*) FROM login WHERE username= '" + textBox1.Text + "' AND [password]='" + textBox2.Text + "' ", con);
OleDbCommand com = new OleDbCommand("UPDATE login SET [password] = '" + textBox3.Text + "' WHERE username = '" + textBox2.Text + "'", con);
com.ExecuteNonQuery();



MessageBox.Show("password successfully changed", "success!", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
errorProvider1.SetError(textBox3, "passwords dont match");
errorProvider1.SetError(textBox4, "passwords dont match");
}
}

else
{
errorProvider1.SetError(textBox1, "wrong username");
errorProvider1.SetError(textBox2, "wrong pasword");

}

}
}

if (dt.Rows[0][0].ToString() == "1") 行中有一个错误,指出在该位置未找到数据,但是数据表中有 5 行。

当代码在没有上述行的情况下运行时,如 //if (dt.Rows[0][0].ToString() == "1")

代码运行但表中没有数据被更新。

再次更新代码,仍然收到同样的错误:

OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM login WHERE username= '" + textBox1.Text + "' AND [password]='" + textBox2.Text + "' ", con);
DataTable dt = new DataTable();
da.Fill(dt);
con.Open();
errorProvider1.Clear();
if (dt.Rows[0][0].ToString() == "1")

最佳答案

尝试按以下方式填充您的 DataTable -

string cmdString = "SELECT * FROM login WHERE username= '" + textBox1.Text + "' AND [password]='" + textBox2.Text + "' ";
OleDbCommand cmd = new OleDbCommand(cmdString,con);
con.Open();
var dr = cmd.ExecuteReader();

DataTable dt = new DataTable();
dt.Load(dr);
con.Close()

现在您应该在表中获取数据,前提是您的选择查询是正确的。确保在连接和命令对象上使用 using block ,以便在它们超出范围时处理它们。

关于c# - 数据未更新到表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34648682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com