|
|
|
Junior Member
      
участник
Last Login: 26.02.2007 17:21
Сообщ.: 15,
Visits: 31
|
|
| Уважаемые форумчане,подскажите как решить такую проблему - вывела данные из Excel на форму в Datagrid, Private Sub Excel_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = c:\Project117Form\BASIC1.xls;Extended Properties = ""Excel 8.0; HDR=YES""" cmd = New OleDb.OleDbCommand("select *from [Лист1$]", cnn)cnn.Open() dscmd = New System.Data.OleDb.OleDbDataAdapter("select *from [Лист1$]", cnn)dscmd.Fill(ds, "[‹Лист1$]")tbl = ds.Tables(0) DataGrid1.DataSource = ds DataGrid1.DataMember = "[‹Лист1$]"End Sub код для внесения новой строки Dim RowInsert As Data.DataRow dscmd.InsertCommand = New OleDbCommand("INSERT INTO [Лист1$](zavod,Дата,№завд,Зм,sekcia,Час,vid_prod,Вага,Натура) values (?,?,?,?,?,?,?,?,?)", cnn) dscmd.InsertCommand.Parameters.Add("@zavod", OleDbType.Integer).SourceColumn = "zavod" dscmd.InsertCommand.Parameters.Add("@№Дата", OleDbType.Date).SourceColumn = "Дата" dscmd.InsertCommand.Parameters.Add("@№завд", OleDbType.Integer).SourceColumn = "№завд" RowInsert = ds.Tables(0).NewRow RowInsert("zavod") = ds.Tables(0).Rows(DataGrid1.CurrentCell.RowNumber) 'не работает 'RowInsert("Дата") = "12.01.2007" - так работает, 'RowInsert("№завд") = 12121212 'ds.Tables(0).Rows.Add(RowInsert) 'DataGrid1.DataSource = tbl dscmd.Update(ds.Tables("[Лист1$]")) cnn.Close() DataGrid1.Refresh()
пытаюсь добавлять новые значения путем ввода в Datagrid,выскакивают ошибки,подскажите,что я не учла?спасибо всем кто откликнеться.
|
|
|
|
|
Forum Guru
      
участник
Last Login: 06.01.2008 10:33
Сообщ.: 70,
Visits: 678
|
|
>> RowInsert = ds.Tables(0).NewRow >> RowInsert("zavod") = ds.Tables(0).Rows(DataGrid1.CurrentCell.RowNumber) 'не работает Не понятно, а зачем добавлять данные в таблицу, взятые из той же таблицы? Коллекция Rows принадлежит Tables(0). Ну а если на то уж пошло нужно кажется вот так RowInsert("zavod") = ds.Tables(0).Rows(DataGrid1.CurrentCell.RowNumber)("field_name")
|
|
|
|
|
Junior Member
      
участник
Last Login: 26.02.2007 17:21
Сообщ.: 15,
Visits: 31
|
|
Ну а если на то уж пошло нужно кажется вот так RowInsert("zavod") = ds.Tables(0).Rows(DataGrid1.CurrentCell.RowNumber)("field_name") не работает,пишет = Не удается найти выходную таблицу 'Лист1$'. хотя вот так записывает и видит таблицу RowInsert( "zavod") = 254
|
|
|
|
|
Junior Member
      
участник
Last Login: 26.02.2007 17:21
Сообщ.: 15,
Visits: 31
|
|
| сделала вот так RowInsert( "zavod") = CType(ds.Tables(0).Rows(DataGrid1.CurrentCell.RowNumber)("zavod"), Integer)ds.Tables(0).Rows.Add(RowInsert) dscmd.Update(ds.Tables( "[Лист1$]"))cnn.Close() DataGrid1.Refresh() добавляет в таблицу и в DataGrid,но ДВА РАЗА!!!ПОЧЕМУ,ПЛИЗ ПОДСКАЖИТЕ,ЧТО ЕЩЕ НЕТ ТАК
|
|
|
|
|
Forum Guru
      
участник
Last Login: 06.01.2008 10:33
Сообщ.: 70,
Visits: 678
|
|
Светлячок (22.02.2007)
добавляет в таблицу и в DataGrid,но ДВА РАЗА!!!ПОЧЕМУ,ПЛИЗ ПОДСКАЖИТЕ,ЧТО ЕЩЕ НЕТ ТАК Может быть потому, что при добавлении строки в DataGrid программа автоматически уже добавляет запись в Source-таблицу?
|
|
|
|