2012-02-24 7 views
1

Я работаю над проектом, которому нужна база данных.
я нашел учебник, который я видел в Youtube, и это показывает, как подключить и редактировать данные с SQL Server 2005.
Но когда я попробовал это, я получаю эту ошибку InvalidOperationExceptionC# sql update - InvalidOperationException

Это все Код доступа

con.Open(); 

DataTable dt = new DataTable(); 
//load all records from sample table 
SqlDataAdapter da = new SqlDataAdapter("select * from sampleEdit where ID=" + 
    textBox1.Text + " ", con); 
da.Fill(dt); 

//start the editing of the selected record 
dt.Rows[0].BeginEdit(); 

dt.Rows[0][1] = textBox2.Text; 

//stop the editing 
dt.Rows[0].EndEdit(); 

//declare the sql commandbuilder that allow saving of records 
SqlCommandBuilder cb = new SqlCommandBuilder(da); 

//update the database 
da.Update(dt); 

//close the connection 
con.Close(); 

//call the method that display the record to the gridview 
displayRecords(); 

Ошибка показана на части обновления.
В чем проблема?

это полная ошибка исключение

System.InvalidOperationException: Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information. 
at System.Data.Common.DbDataAdapter.UpdatingRowStatusErrors(RowUpdatingEventArgs rowUpdatedEvent, DataRow dataRow) 
at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping) 
at System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping) 
at System.Data.Common.DbDataAdapter.Update(DataTable dataTable) 
at DatabaseConnect3.Form1.btnEdit_Click(Object sender, EventArgs e) 
+1

Он помогает включить полный текст брошенного исключения. Также было бы неловко связывать видео Youtube, если оно открыто доступно для просмотра. – Guvante

+0

@Guvante, извините, я забыл ссылку. просто скачал видео –

ответ

2

Ваш стол источник является недействительным, потому что вы, скорее всего, не определить первичный ключ таблицы. Просто сделайте столбец ID основным ключом таблицы, и код должен работать.

+0

Он работает. Спасибо –

Смежные вопросы