-1

我真的很想在这段代码上得到帮助,试图用 C# 连接 SQL 来制作一个 Windows 表单来填写密码和用户名,我 dt.Fill(); 给了一个错误,non-innovocable member... 我想知道我应该如何处理代码?

namespace Homeworkc
{
   public partial class Form1 : Form
   {
      public Form1()
      {
         InitializeComponent();
      }

      private void button3_Click(object sender, EventArgs e)
      {
         this.Close();
         Application.Exit();
      }

      private void button1_Click(object sender, EventArgs e)
      {
         SqlConnection con = new SqlConnection(@"Data Source=C:\Users\courageboy\AppData\Local\Temporary Projects\Homeworkc\Data.sdf");
         SqlDataAdapter sda = new SqlDataAdapter("Select Count(*)From Login where username='" + textBox1.Text + "'and password='" + textBox2.Text + "'", con);
         DataTable dt = new DataTable();
         dt.Fill();

         if (dt.Rows[0][0].ToString() == "1")
         {
            this.Hide();
            Displayform df = new Displayform();
            df.Show();
         }

         else 
         {
            MessageBox.Show("please you have enter a wrong Username or Password");
         }
      }
   }
}
4

1 回答 1

3

使用SqlDataAdapter您需要填写DataTable如下:

sda.Fill(dt);

这个使用方法SqlDataAdapter.Fill Method

用你的陈述:

DataTable dt = new DataTable();
dt.Fill(); //this one

DataTable与你无关SqlDataAdapter,你需要调用SqlDataAdapter.Fill方法来填充DataTable

作为不考虑在代码中使用参数的一方,您当前的代码对Sql Injection开放

于 2013-10-21T17:47:41.257 回答