2012-02-09 3 views
0

На визуальной студии я могу создать DataSet моей базы данных SQLite, выполнив:Использование DataSet для извлечения, обновления и вставки данных в SQLite

1) Подключение к SQLite файл базы данных и создать таблицу

enter image description here

2) Добавить новый DataSet к моему решению (DataSet2.xsd)

enter image description here

3) Перетащите таблицы в конструкторе

enter image description here


Теперь, как я могу сделать использование объектов, визуальный студия создана для меня?

, например, я пытаюсь сделать что-то вроде:

 DataSet2.TableTestDataTable t = new DataSet2.TableTestDataTable(); 
     var objects = t.GetObjectData(..// do not know how to use it 

ИЛИ

 DataSet2TableAdapters.TableTestTableAdapter t = new DataSet2TableAdapters.TableTestTableAdapter(); 
     var data = t.GetData(); 

     var q = from a in data 
       select a; 

     foreach (DataSet2.TableTestRow row in q) 
     { 
      row.integer = 12345; // change value of column integer    
     } 
     t.submitchanges(); // method does note exists 
+0

вы можете использовать DataReader вместо DataReaders гораздо быстрее, чем DataSets и потреблять меньше памяти. – MethodMan

+0

Вот ссылка, которая поможет вам понять, что вы хотите сделать лучше, на мой взгляд, http://www.eggheadcafe.com/community/csharp/2/10015984/getting-data-from-datatable.aspx – MethodMan

+1

Да, я могу использовать Data reader. Я хочу избежать ввода запросов в строке. Я предпочитаю иметь дело с объектами, чем с «Select * from ...», вместо этого я должен использовать обычные SQL-команды и передавать строковые запросы? –

ответ

1
DataSet2TableAdapters.TableTestTableAdapter t = new DataSet2TableAdapters.TableTestTableAdapter(); 

    DataSet2 ds = new DataSet2(); 
    t.Fill(ds.TableTest); 

    foreach (DataSet2.TableTestRow row in ds.TableTest.Rows) 
    { 
     row.integer = 12345; // change value of column integer    
    } 

    t.Update(ds2); 

Нечто подобное ....

1

Try:

var q = (from a in data 
     select a).ToArray(); 

И вместо t.SubmitChanges(); использование t.Update(q);.

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