gpt4 book ai didi

c# - 如何连接 C# 和 PostgreSQL

转载 作者:行者123 更新时间:2023-11-29 12:47:36 25 4
gpt4 key购买 nike

我有 2 个表单,第一个有用户名、密码框和登录按钮。当我点击登录按钮时,它会比较 PostgresSQL 中的用户名密码。但是我在这一行中出错了

NpgsqlDataReader dr = cmd.ExecuteReader(); [ ERROR: 42P01: relation "login" does not exist ]

这是我的代码:

private void button1_Click(object sender, EventArgs e)
{
bool blnfound = false;
NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=admin123;Database=Login");
conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM login WHERE name='" + tb1.Text + "' and password = '" + tb2.Text + "'",conn);
NpgsqlDataReader dr = cmd.ExecuteReader();

if (dr.Read())
{
blnfound = true;
Form2 f5 = new Form2();
f5.Show();
this.Hide();
}

if (blnfound == false)
{
MessageBox.Show("Name or password is incorrect", "Message Box", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
dr.Close();
conn.Close();
}

最佳答案

如果表名登录正确,请检查您的数据库。顺便说一下,您需要过滤输入值,因为您的代码容易受到 SQL 注入(inject)攻击。

您还应该尝试更改表名或数据库名,它们都称为登录名,这可能会导致问题。

关于c# - 如何连接 C# 和 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11224608/

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