WinForm - SQL查询中的语法不正确

时间:2013-12-13 15:28:20

标签: c# sql

我现在已经删除了我的代码以替换它。但是现在剩下的代码不会工作,有人可以帮忙吗? 我正在尝试使用ComboBox为用户名创建一个登录系统,但由于我更改了它,我只是将错误抛回。最新的错误是:*无效的语法,其中“'”

完整错误消息:System.Data.SqlClient.SqlException - {"Incorrect syntax near '.'."}

using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;
using BarcodeForm.Properties;



private void Button1Click(object sender, EventArgs e)
{
    var dt = new DataTable();
    const string Connectionstring = "Data Source=GARETH-PC1;Initial Catalog=Genres;Integrated Security=True";
    var query = "Select Username From Login Where Username =@uname AND Password=@pwd";
    using (var con = new SqlConnection(Connectionstring))
    using (var cmd = new SqlCommand(query, con)
    {
        con.Open();
        cmd.Parameters.AddWithValue("@uname", ComboBox1.SelectedText);
        cmd.Parameters.AddWithValue("@pwd", textBox2.Text);
        using (var sda = new SqlDataAdapter(cmd))
        {
            sda.Fill(dt);
        }
    }

    if (dt.Rows.Count > 0)
    {
        Hide();

        var ss = new Main();
        ss.Show();
    }
    else
    {
        MessageBox.Show("Invalid Username or Password");
    }

    private void Form1Load(object sender, EventArgs e)
    {
        loginTableAdapter.Fill(genresDataSet2.Login);
    }
}

}

1 个答案:

答案 0 :(得分:0)

我不确定这是否是问题,但可能是间距?

用户名= @ uname AND密码= @ pwd

转到

用户名= @uname和密码= @pwd

SQL服务器不允许空格,因此可能是您的问题