Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / почему не происходит обновлени данных / 3 сообщений из 3, страница 1 из 1
08.10.2004, 10:27
    #32729279
sashenka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не происходит обновлени данных
код на обновление вот такой
Код:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
mainForm fmmain = (mainForm)this.MdiParent;
sqlda_in.UpdateCommand.Connection = fmmain.grandconnect;
sqlda_in.UpdateCommand.Parameters.Clear();
sqlda_in.UpdateCommand.Parameters.Add("@j_price",SqlDbType.Money);
sqlda_in.UpdateCommand.Parameters.Add("@a_npp",SqlDbType.Int);
sqlda_in.UpdateCommand.Parameters.Add("@otp_cena",SqlDbType.Money);
sqlda_in.UpdateCommand.CommandText=@"update template_in_nakl set j_price = @j_price where a_npp=@a_npp and otp_cena = @otp_cena and username = user_name()";
sqlda_in.UpdateCommand.Parameters["@j_price"].Value = ds_in.Tables[0].Columns[5];
sqlda_in.UpdateCommand.Parameters["@a_npp"].Value = ds_in.Tables[0].Columns[0];
sqlda_in.UpdateCommand.Parameters["@otp_cena"].Value = ds_in.Tables[0].Columns[6];
int rows = sqlda_in.Update(ds_in);
MessageBox.Show(rows.ToString());


изменение строк происходит вот так
Код:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
private void button1_Click(object sender, System.EventArgs e)
{

for (int i=0;i< ds_in.Tables[0].Rows.Count;i++)
{
ds_in.Tables[0].Rows ["j_price"]=Math.Round((decimal)ds_in.Tables[0].Rows["j_price"]*Convert.ToDecimal((Int32.Parse(tb1.Text)/100.0+1)),2);

}
button1.Enabled = false;
}

немогу понять в чем дело.
...
Рейтинг: 0 / 0
09.10.2004, 00:14
    #32730917
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не происходит обновлени данных
2 sashenka

в таких ситуациях, когда не совсем понятно, что работает, а что - нет, лучше обратиться к wizard'у.

создал таблицу на sql сервере (cм скрипт в конце), построил адаптер в дезайнере и вот его результат, который работает для этой таблички по sqlda_in.Update(ds_in);

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 //  
 // sqlUpdateCommand1 
 //  
this.sqlUpdateCommand1.CommandText = @"UPDATE template_in_nakl SET a_npp = @a_npp, otp_cena = @otp_cena, j_price = @j_price WHERE (a_npp = @Original_a_npp) AND (otp_cena = @Original_otp_cena) AND (j_price = @Original_j_price OR @Original_j_price IS NULL AND j_price IS NULL) AND (username = user_name()); SELECT a_npp, otp_cena, j_price FROM template_in_nakl WHERE (a_npp = @a_npp) AND (otp_cena = @otp_cena) AND (username = user_name())";
this.sqlUpdateCommand1.Connection = this.grandConnect;
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@a_npp", System.Data.SqlDbType.Decimal, 9, System.Data.ParameterDirection.Input, false, ((System.Byte)(18)), ((System.Byte)(0)), "a_npp", System.Data.DataRowVersion.Current, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@otp_cena", System.Data.SqlDbType.Money, 8, "otp_cena"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@j_price", System.Data.SqlDbType.Money, 8, "j_price"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_a_npp", System.Data.SqlDbType.Decimal, 9, System.Data.ParameterDirection.Input, false, ((System.Byte)(18)), ((System.Byte)(0)), "a_npp", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_otp_cena", System.Data.SqlDbType.Money, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "otp_cena", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_j_price", System.Data.SqlDbType.Money, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "j_price", System.Data.DataRowVersion.Original, null));
руками подправил только часть - по username.
наверное, надо бы удалить
a_npp = @a_npp и otp_cena = @otp_cena
и соотвественно 2 первых параметра


PS
скрипт на создание таблицы (через EM)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TABLE [dbo].[template_in_nakl] (
	[a_npp] [decimal]( 18 ,  0 ) NOT NULL ,
	[otp_cena] [money] NOT NULL ,
	[j_price] [money] NULL ,
	[username] [char] ( 32 ) COLLATE Cyrillic_General_CI_AS NULL 
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[template_in_nakl] WITH NOCHECK ADD 
	CONSTRAINT [PK_template_in_nakl] PRIMARY KEY  CLUSTERED 
	(
		[a_npp],
		[otp_cena]
	)  ON [PRIMARY] 
GO
...
Рейтинг: 0 / 0
09.10.2004, 11:26
    #32731002
sashenka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не происходит обновлени данных
спасибо тя огромное ...на таких людях как ты форумы и держаться ..) 5 дней парился с ентой темой.... СЕНКИ)
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / почему не происходит обновлени данных / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]