вставка DataTable в БД с использованием DataAdapter не работает - PullRequest
0 голосов
/ 07 апреля 2011

Я пытаюсь вставить DataTable в таблицу БД (БД находится на мобильном устройстве - Psion), используя DataAdapter. по какой-то причине он не работает - когда я проверяю таблицу БД - он просто выглядит как пустая таблица ...

код: >

private void btnCommTables_Click (отправитель объекта, EventArgs e)
{
попробовать
{
DataSet ds = WSDanielGroup.Instance._WSDanielGroupToDevice.GetLoadTables ();

             DataTable DT = ds.Tables["Peer"];  

            string SelectCMD = "INSERT INTO Peer(ID,PeerID) Values(?,?)";  
            SqlCeConnection cn = new SqlCeConnection(DBManager.sLocalConnectionString);  





          SqlCeDataAdapter da=new SqlCeDataAdapter();  
            da.InsertCommand = new SqlCeCommand(SelectCMD, cn);  

            cn.Open();  

            da.InsertCommand.Parameters.Add("@ID", SqlDbType.Int,4,"ID");  

            da.InsertCommand.Parameters.Add("@PeerID", SqlDbType.NVarChar,50, "PeerID");  
            int numRows = da.Update(DT);         
 }  

1 Ответ

0 голосов
/ 07 апреля 2011

Одним из возможных объяснений является то, что в вашей DataTable не указаны правильные RowVersions.DataAdapter будет обновлять только те строки, которые были изменены в таблице.Если вы получаете его откуда-то еще, он думает, что все в порядке и ничего не нужно обновлять (строки не помечены как «грязные»).Подробнее здесь .

...