我有一個小問題就在這裏: 我有一個組合框,在數據庫中獲取從列的值,我用它來背輸入數據到另一個。安迪在數據庫 像如何在C#中執行SQL SELECT語句
comboBox2.DataSource = ds1.Tables[0];
comboBox2.DisplayMember = "DoctorName";
comboBox2.ValueMember = "DoctorCode";
comboBox2.BindingContext = this.BindingContext;
這填補組合框與醫生的名字和值將成爲醫生 的代碼,然後
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=c:\users\administrator\documents\visual studio 2010\Projects\Clinic\Clinic\Clinc.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
con.Open();
SqlCommand cmd1 = new SqlCommand("SELECT Doctors.DoctorCode, Doctors.DoctorName, SessionReservations.SessionCode, SessionReservations.PatientCode, SessionReservations.ExaminationCode, SessionReservations.DoctorCode AS Expr1, SessionReservations.SessionMonth, SessionReservations.SessionYear FROM Doctors INNER JOIN SessionReservations ON Doctors.DoctorCode = SessionReservations.DoctorCode WHERE (Doctors.DoctorCode = @DoctorCode) AND (SessionReservations.SessionMonth = @month) AND (SessionReservations.SessionYear = @year)", con);
SqlDataAdapter da2 = new SqlDataAdapter(cmd1);
DataSet ds2 = new DataSet();
try
{
da2.InsertCommand.Parameters.Add("@DoctorCode", SqlDbType.Int).Value = Convert.ToInt32(comboBox2.SelectedValue);
da2.InsertCommand.Parameters.Add("@month", SqlDbType.Int).Value = comboBox1.SelectedValue;
da2.InsertCommand.Parameters.Add("@year", SqlDbType.Int).Value = textBox2.Text;
da2.Fill(ds2);
cmd1.ExecuteReader();
con.Close();
}
該代碼可用於選擇特定的行和選擇statment工作就在SQL管理器 但在運行它給錯誤
「System.NullReferenceException:對象引用未設置爲對象的 實例。在 Clinic.DoctorMoneyCall.button1_Click(對象發件人,EventArgs e)如 C:\用戶\管理員\文件\視覺工作室 2010 \項目\診所\診所\ DoctorMoneyCall.cs:行45"
我只是不明白這是怎麼回事錯
哪個是45行? –
@fenonoga - 這只是一個空引用問題。這不是運行SQL查詢所特有的。 –
嘗試調試,並查看您的複選框和文本框是否有任何值作爲參數 –