0
我對數據庫和C#的世界是比較新的,我有一個問題讓我的數據表根據我通過C#程序進行更新而更新。我正在使用TableAdapter向數據庫發出命令。在C#中的數據表不工作的更新命令
在我的程序中,我有一個允許將新行添加到數據表的表單。據我所知,這可以工作,因爲我的程序的其餘部分可以通過查詢數據庫來訪問新信息。
this.patientInfoTableTableAdapter.InsertNewPatient(
this.FirstName, this.LastName, this.StreetAddress, this.City, this.State, this.Zip,
this.Email, this.Phone, this.DOB, this.Gender);
我甚至可以停止程序的運行,並重新啓動它,並且添加的數據仍然可以訪問。但是,當我直接查看數據表時,添加的行不存在,下次運行程序時,表格在程序眼中也恢復爲未修改狀態。
我有,我用我每次去經歷這個過程時間的更新方法,但它有,無論是在保留添加的行或現有行的任何變化沒有影響:
this.Validate();
this.patientInfoTableBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.eMRSDatabaseDataSet);
MessageBox.Show("Update Successful");
我總是看到MessageBox出現,我沒有得到任何錯誤。
我得出的結論是,我的數據庫的一些設置或屬性是錯誤的,我可以用一些幫助來找出我的問題。
萬一有幫助,對所涉及的代碼後續的數據庫查詢:
INSERT INTO [PatientInfoTable] ([First_Name], [Last_Name], [Street_Address], [City], [State], [Zip], [Email], [Phone], [DOB], [Gender]) VALUES (@fName, @lName, @sAddress, @city, @state, @zip, @email, @phone, @dob, @gender)
和
UPDATE PatientInfoTable
SET Street_Address = @saddress, City = @city, State = @state, Zip = @zip, Email = @email, Phone = @phone, Gender = @gender
WHERE (Patient_ID = @p11)
使用Visual Studio查詢構建器中生成這些查詢。
我將不勝感激任何建議!
由於(主要)沒有使用[parameters](http://weblogs.sqlteam.com/dang/archive/2008/02/18/Why-Parameters-are-a-Best-Practice。 aspx),但字符串連接,這是一個不幸的常見壞習慣,可能會導致您在現實生活中遇到嚴重問題。 – 2013-06-23 12:46:10