我试图在我的数据库中插入值,每当我尝试添加它,我的程序只是崩溃,给我一个ConnectionString属性尚未初始化的错误,但我正确初始化它。这里是我的代码:C#数据库ConnectionString属性尚未初始化
private static string conStr = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=c:\users\aldrin\documents\visual studio 2013\Projects\MidtermAssignment_Ramirez\MidtermAssignment_Ramirez\MasterFile.mdf;Integrated Security=True";
SqlConnection myCon = new SqlConnection();
private int studId, year, units;
private string fName, lName, mName, course, payment;
public void insertRecord()
{
myCon.Open();
SqlCommand insertInfo = new SqlCommand("spInsertStudentInformation", myCon);
insertInfo.CommandType = CommandType.StoredProcedure;
insertInfo.Parameters.Add("@studId", SqlDbType.Int).Value = studId;
insertInfo.Parameters.Add("@fName", SqlDbType.VarChar).Value = fName;
insertInfo.Parameters.Add("@lName", SqlDbType.VarChar).Value = lName;
insertInfo.Parameters.Add("@mName", SqlDbType.VarChar).Value = mName;
insertInfo.ExecuteNonQuery();
myCon.Close();
myCon.Open();
SqlCommand insertData = new SqlCommand("spInsertStudentData", myCon);
insertData.CommandType = CommandType.StoredProcedure;
insertData.Parameters.Add("@studId", SqlDbType.Int).Value = studId;
insertData.Parameters.Add("@course", SqlDbType.VarChar).Value = course;
insertData.Parameters.Add("@year", SqlDbType.Int).Value = year;
insertData.Parameters.Add("@units", SqlDbType.Int).Value = units;
insertData.Parameters.Add("@payment", SqlDbType.VarChar).Value = payment;
insertData.ExecuteNonQuery();
myCon.Close();
}
这里是我的按钮的代码:
myData.StudId = Convert.ToInt32(txtStudId.Text);
myData.FName = txtFName.Text;
myData.LName = txtLName.Text;
myData.MName = txtMName.Text;
myData.Course = cboCourse.SelectedItem.ToString();
myData.Year = Convert.ToInt32(cboYear.SelectedItem.ToString());
myData.Units = Convert.ToInt32(txtUnits.Text);
myData.Payment = cboPayment.SelectedItem.ToString();
myData.insertRecord();
,这里是我的存储过程:
CREATE PROCEDURE [dbo].spInsertStudentData
@studId int,
@course varchar(50),
@year int,
@units int,
@payment varchar(50)
AS
INSERT INTO StudentData VALUES (@studId, @course, @year, @units, @payment)
RETURN 0
CREATE PROCEDURE [dbo].spInsertStudentInformation
@studId int,
@fName varchar(50),
@lName varchar(50),
@mName varchar(50)
AS
INSERT INTO StudentInformation VALUES (@studId, @fName, @lName, @mName)
RETURN 0
我在ASP最近研究数据库。 NET,这就是我正在做的,但我不知道为什么这不在C#运行良好。
不要为连接保留全局变量。在using语句中本地声明变量,以确保在变量异常时它将被关闭和处置。 – Steve 2015-02-08 14:48:11
在配置文件中放置连接字符串 – 2015-02-08 14:50:58