Не работает DataAdapter.Update

epox
Дата: 08.02.2005 12:41:28
Не работает DataAdapter.Update если имя таблицы содержит пробел.
Bigheadman
Дата: 08.02.2005 15:21:14
Приведите код.
Посмотрите профайлером, какие запросы уходят в СУБД (если это MS SQL). Скорее всего, поможет использование квадратных скобок.
SELECT * FROM [Some Table]
epox
Дата: 08.02.2005 18:39:28
код следующий
public bool UpdateData()
{
SqlConnection conn = SqlConnection("......");

SqlCommand cmd = new SqlCommand("Select * from [Northwind].[dbo].
[Orders Detail]",conn);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
SqlCommandBuilder cb = new SqlCommandBuilder(da);
conn.Open();
DataSet ds = new DataSet();
da.Fill(ds,"[Orders Detail]");
DataRow new_dr = ds.Tables[0].NewRow();
new_dr = 1;
.......
ds.Tables[0].Rows.Add(new_dr);
da.Update(ds,"[Orders Detail]");
conn.Close();
return true;
}
кузя
Дата: 08.02.2005 19:18:13
довавь для билдера сразу после его создания:
cb.QuotePrefix="[";
cb.QuoteSuffix="]";
AlexeiK
Дата: 18.01.2008 15:24:43
чтото у меня такой код :
           
Dim sqla As SqlDataAdapter, str As String, ds As New DataSet, itemname As String, ИмяТаб As String, builder As SqlCommandBuilder

            itemname = "id_item"

            ИмяТаб = "item_list"

            str = "select * from " & ИмяТаб & " where " & itemname & "=" & Me.ID_Item

            sqla = New SqlDataAdapter(str, Cnn)
            builder = New SqlCommandBuilder(sqla)
            sqla.Fill(ds, "details")
            Return ds

после инициализации builder`а, не заполняется updatecommand у sqla.
как так? честно влом писать для такого простого sql свою update вручную.вроде и ошибок нету явных.
AlexeiK
Дата: 18.01.2008 15:59:33
да ,чето книжки старые:) вроде 2006 год,а ведь не работе как в книге.

нужно было
            sqla.UpdateCommand = builder.GetUpdateCommand
добавить.

но все равно,на событии cellendedit вызываю me.dgv.update и через профайлер ничего не видно.

как то можно ,это место в дебаге посмотреть?