0

SQL Server データベースを使用してログイン フォームを実行しようとしていますが、次のようなエラーが表示されます。

' '付近の構文が正しくありません

エラーが発生している行は次のとおりです。

objda.Fill(objds, "adm");

私のコードは次のとおりです。

public partial class Form1 : Form
{
    int total;
    SqlConnection objc;
    string c = "data source=.; initial catalog=student; integrated security=SSPI";
    SqlDataAdapter objda;
    DataSet objds;
    SqlCommand objcmd;

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    }

    private void button1_Click(object sender, EventArgs e)
    {
        if (objc != null)
        {
            objc.Open();
        }
        objcmd = new SqlCommand("select * form adm where Name= ' " + textBox1.Text + "',pass = ' " + textBox2.Text + "'", objc);
        if (objc != null)
        {
            objc.Close();
        }
        objc = new SqlConnection(c);
        objcmd = new SqlCommand("search * from adm", objc);
        objda = new SqlDataAdapter(objcmd.CommandText, objc);
        objds = new DataSet();
        objda.Fill(objds, "adm");

        total = Convert.ToInt32(objds.Tables["adm"].Rows.Count);
        if (total > 0)
        {
            MessageBox.Show("welcome");
            Class1.login = textBox1.Text;
            Form2 f2 = new Form2();
            this.Hide();
            f2.Show();
        }
        else
        {
        }

私は何をすべきか?

問題はどこだ?

4

4 に答える 4

1

SQL インジェクションの脆弱性、using ステートメントの欠如、および明らかな不適切な構文 (AND の欠落と FROM のスペルミス) は別として:

接続を開くのを忘れました。

于 2012-11-03T06:54:00.777 に答える
0

接続を再度開く必要があります

  objc.Open();

そして変更

select * form

select * from

また、AND欠落しています。

于 2012-11-03T06:55:48.867 に答える
-3
objcmd = new SqlCommand("select * form adm where Name= ' " + textBox1.Text + "',pass = ' " + textBox2.Text + "'", objc);

それは次のとおりです。

objcmd = new SqlCommand("select * from adm where Name= ' " + textBox1.Text + "',pass = ' " + textBox2.Text + "'", objc);
于 2012-11-03T06:54:06.063 に答える