好的,所以我有一个字符串问题。我不确定它是不是很简单,我只是盯着它看了很长时间而一无所获,或者这是我无法避免的事情?
所以我正在尝试使用 C# 登录到 SQL 服务器。一旦登录框出现,我将用户名和密码传递给连接类,登录成功。
public void login(object sender, EventArgs e)
{
sqlconnect sql = new sqlconnect();
sql.us = textBox1.Text;
sql.pas = textBox2.Text;
try
{
sql.GetSqlConnection();
sql.myConnection.Open();
label3.Text = "Connected";
this.Hide();
fronthyb.Show();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
所以下面是我的连接类:
public class sqlconnect
{
public SqlConnection myConnection { get; set; }
public String us;
public String pas;
Settings1 set = new Settings1();
public SqlConnection GetSqlConnection()
{
if (myConnection == null)
myConnection = new SqlConnection("user id="+(us)+"; password="+(pas)+";server="+(set.SelectServer)+";Trusted_Connection="+(set.SelectContype)+";database="+(set.SelectDataBase)+"; connection timeout="+(set.Condrop)+"");
return myConnection;
}
}
当我尝试向数据库添加信息时,现在出现了问题:
private void button1_Click(object sender, EventArgs e)
{
sql.GetSqlConnection();
SqlCommand cm = new SqlCommand("insert into dbo.Employee(FirstName, LastName, DoB, UserName, Email, Role, JobTitle, MemberOf) values (@FirstName, @LastName, @DoB, @UserName, @Email, @Role, @JobTitle, @MemberOf)", sql.myConnection);
cm.Parameters.AddWithValue("@FirstName", textBox2.Text);
cm.Parameters.AddWithValue("@LastName", textBox3.Text);
cm.Parameters.AddWithValue("@DoB", textBox5.Text);
sql.myConnection.Open();
cm.ExecuteNonQuery();
sql.myConnection.Close();
this.Close();
我还没有发现任何问题,因为它仍在开发中,但程序崩溃并且基本上说不允许用户。我测试了连接类中的字符串,当我在登录后调用它们时,它什么也不返回。所以它似乎在某个时候被“null”取代了?我不确定。有人看到任何明显的东西吗?对不起,很长的问题。谢谢你。