我有一个非常简单的Windows窗体。我想使用它将数据添加到数据库。
在我的C#winforms解决方案中,我创建了一个名为 db_studentDataSet 的数据源,并连接了我的数据库 db_student 。每当我运行我的解决方案时,我都会遇到以下异常:
SqlException was unhandled: Login failed for user 'sa'
这是我的代码:
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SimpleEnrollmentSystem
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void buttonAdd_Click(object sender, EventArgs e)
{
this.Validate();
this.studentsBindingSource.EndEdit();
studentsTableAdapter.Insert("Ahmed", "Rownak", "Male", 13, "Malibagh");
}
}
}
以下是我的表格图片:
这是我的数据库:
CREATE TABLE Students
(
StudentID int primary key,
FirstName string,
LastName string,
Gender string,
Age int,
Address string
)
请注意,我只编写了添加按钮功能。
我的代码出了什么问题?还是别的什么?也许我试图实现这个的方式是错的?在这种情况下,还有更好的方法吗?
我正在使用Visual Studio 2012 Ultimate和SQL Server 2012 Express Edition。
编辑 - 1:我更改了我的buttonAdd_Click()方法。
private void buttonAdd_Click(object sender, EventArgs e)
{
SqlConnection con1 = new SqlConnection("Data Source=SAADMAAN;Initial Catalog=db_student;User ID=sa;Password=***********");
con1.Open();
SqlCommand cmd1 = new SqlCommand("INSERT INTO Students(StudentID, FirstName, LastName, Gender, Age, Address) VALUES('" + studentIDTextBox.Text + "','" + firstNameTextBox.Text + "','" + lastNameTextBox.Text + "','" + genderTextBox.Text + "','" + ageTextBox.Text + "','" + addressTextBox.Text +"')",con1);
cmd1.ExecuteNonQuery();
con1.Close();
}
答案 0 :(得分:1)
根据用户Kiran Hegde的建议,我在我的连接字符串中将密码更改为明文。
SqlConnection con1 = new SqlConnection("Data Source=SAADMAAN;Initial Catalog=db_student;User ID=sa;Password=open");
解决了这个问题。我很傻,我跳过这个显而易见的事情。