- Код: Выделить всё
public void InsRec() //SqlConnection conn)
{
double ostat = 0;
//Записи кот. были добавлены
Data dsadd = hset.GetChanges(DataRowState.Added) as Data;
if (dsadd != null)
{
//Data dbsUpd = hset.GetChanges(DataRowState.Modified) as Data;
//MessageBox.Show("Существуют добавленные строки");
foreach (Data.DocBaseRow drowb in dsadd.DocBase.Select("REFDOCINSTANCE=" + hrow.ID))
//foreach (Data.DocBaseRow drowb in dbsUpd.DocBase.Select("REFDOCINSTANCE=" + hrow.ID))
{
ExecuteSql(1, @"
declare @P1 int
select @P1= (select isnull(max(RecIndex),0)+1 from " + docmen.tableNameBO + @"(nolock)
where RefDocinstance = " + drowb.REFDOCINSTANCE + @")
--set implicit_transactions on
insert into " + docmen.tableNameBO + @"(ID,Refdocinstance,RecIndex)
values (" + drowb.ID + @"," + drowb.REFDOCINSTANCE + @",@P1)
--IF @@TRANCOUNT > 0 COMMIT TRAN
--set implicit_transactions off");
// Trace.WriteLine("Перед добавлением б. строки в документ:" + ID + " c b ID = " + drowb.ID);
// Trace.WriteLine("Добавлена б. строка в документ:" + ID + " c b ID = " + drowb.ID);
if (docmen.tableNamePrice == "")
{
ExecuteSql(1, @"
update " + docmen.tableNameBO + @" set
ArticleRef=" + drowb.ARTICLEREF + @",
ArticleName=(select Code+' - '+NameArticle1 from article where ID=" + drowb.ARTICLEREF + @"),
"+docmen.tableNameQnty+"=" + drowb.QNTY + @"
where ID =" + drowb.ID);
}
else
{
ExecuteSql(1, @"
update " + docmen.tableNameBO + @" set
ArticleRef=" + drowb.ARTICLEREF + @",
ArticleName=(select Code+' - '+NameArticle1 from article where ID=" + drowb.ARTICLEREF + @"),
Price=" + drowb.PRICE + @",
"+docmen.tableNameQnty+"=" + drowb.QNTY + @"
where ID =" + drowb.ID);
}
ExecuteSql(1, @"
--- //Очистка дет. строк, созданных триггером
set textsize 9999
--set implicit_transactions on
delete " + docmen.tableNameSO + @"
where refdocinstance=" + hrow.ID + @" and refbasePL=" + drowb.ID + @"
--IF @@TRANCOUNT > 0 COMMIT TRAN
--set implicit_transactions off
set textsize 4981");
ну как такое можно читать? а тем более править???