为什么我的程序没有连接到数据库?

时间:2012-04-19 17:10:32

标签: c# database sqlcommand

我正在创建一个数据库,因此我可以存储用户名和密码。我已经在Microsft Visual Express C#2010上成功创建了一个数据库。

我的程序似乎运行正常,并且没有产生任何错误消息,除了我没有得到任何反馈:看起来我的程序实际上并没有向数据库发出请求,或者没有返回结果。发生了什么事?

    private void button1_Click(object sender, EventArgs e)
    {
        string connection = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";
        SqlConnection cn = new SqlConnection(connection);
        try
        {
            cn.Open();
        }
        catch (Exception)
        {
            MessageBox.Show("Did not connect");
        }
        string username = textBox1.Text;
        string password = maskedTextBox1.Text;
        string sqlquery = ("SELECT * FROM User WHERE Username = '" + textBox1.Text + "'");
        sqlquery = "INSERT INFO [User] (Username, Password) VALUES ('" + textBox1.Text + "','" + maskedTextBox1.Text + "')";
        SqlCommand Command = new SqlCommand(sqlquery, cn);
        Command.Parameters.AddWithValue("Username", username);
        Command.Parameters.AddWithValue("Password", password);
    }
    private void Form1_load(object sender, EventArgs e)
    {
        string connection = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";
        SqlConnection cn = new SqlConnection(connection);
        try
        {
            cn.Open();
        }
        catch (Exception)
        {
            MessageBox.Show("Did not connect");
        }
    }

}

}

1 个答案:

答案 0 :(得分:3)

你实际上并没有执行SqlCommand,所以你不会“看到”任何事情似乎是合乎逻辑的。尝试将以下行添加到button1_Click的末尾:

Command.ExecuteNonQuery(); // actually execute the INSERT INFO... query

您的SQL代码存在一些问题,但执行命令后会收到异常。