3796068 Ответов: 7

Храните данные в двух разных таблицах, когда мы нажимаем кнопку.


Всем привет,

Как хранить данные в двух разных таблицах, когда мы нажимаем кнопку.Использование хранимой процедуры как это сделать.

Предположим, у меня есть 2 таблицы с именами customer и product.

В таблице customer у меня есть 4 поля custid,custname,custaddress,prodid
В таблице Product у меня есть 3 поля prodid,prodname,price

Поэтому когда я нажимаю на кнопку вставить все данные будут вставлены в соответствующие таблицы


Спасибо


[Отредактировано]"пред" тега удаляется от обычного заявления[/отредактированы]

manoharank5

Вы хотите хранить одни и те же данные в двух разных таблицах? Пожалуйста, объясните реальную проблему

Prerak Patel

Сначала приложите некоторые усилия.

7 Ответов

Рейтинг:
5

piyush modi

Привет, я сделал это в 3-уровневой архитектуре. я использовал 2 разные процедуры хранения для вставки данных в две разные таблицы.
При нажатии кнопки save_button я передал параметры для этой 2-х различных страниц хранимой процедуры prom .cs классу BAL, создав объект BAL.
И из класса бал в класс дал.В классе DAL я создал 2 разные функции для этих двух разных хранимых процедур.

Обратитесь К Этому Коду --

В .CS страницы:-

protected void Button1_Click(object sender, EventArgs e)
     {          
         name = Txt1.Text;
         pname = Txt5.Text;
         pcode = Txt3.Text;
         addr = Txt4.Text;
         pc = Txt3.Text;
         rmname=box1.Text;
         rmbatchno = box2.Text;
         mfg_date = dt.Date;
               
            
            pBAL.insert(name, pname, pcode, addr);            
            pBAL.insert2(pc, rmname, rmbatchno, mfg_date);
            
      }

In BAL:-

public void  insert(string name, string pname, string pcode, string addr)
    {
            pDAL.insert(name, pname, pcode, addr);
    }

    public void insert2(string prcode, string rmname, string rmbatchno, DateTime mfg_date)
    {        
            pDAL.insert2(prcode,rmname,rmbatchno,mfg_date);        
    }


In DAL:-

 public void  insert(string name, string pname, string pcode, string addr)
    {
              
        SqlCommand sqlcmd = new SqlCommand("pfirst", con);
        sqlcmd.CommandType = CommandType.StoredProcedure;
        
            sqlcmd.Parameters.Add("@u", SqlDbType.VarChar).Value = name;
            sqlcmd.Parameters.Add("@n", SqlDbType.VarChar).Value = pname;
            sqlcmd.Parameters.Add("@a", SqlDbType.VarChar).Value = pcode;
            sqlcmd.Parameters.Add("@c", SqlDbType.VarChar).Value = addr;
            con.Open();
            sqlcmd.ExecuteNonQuery();    
            con.Close();
            
        
    }
    public void insert2(string prcode ,string rmname, string rmbatchno,DateTime mfg_date)

    {
        SqlCommand sqlcmd1 = new SqlCommand("psecond", con);
        sqlcmd1.CommandType = CommandType.StoredProcedure;
        
            con.Open();
            sqlcmd1.Parameters.Add("@u", SqlDbType.VarChar).Value = prcode;
            sqlcmd1.Parameters.Add("@n", SqlDbType.VarChar).Value = rmname;
            sqlcmd1.Parameters.Add("@a", SqlDbType.VarChar).Value = rmbatchno;
            sqlcmd1.Parameters.Add("@c", SqlDbType.DateTime).Value = mfg_date;            
            sqlcmd1.ExecuteNonQuery();        
            con.Close();
        
    }


Рейтинг:
0

RaviRanjanKr

Вы можете использовать транзакцию. Транзакция имплементируется внутрь .Сетевое приложение, когда вы хотите объединить несколько задач вместе, чтобы выполнить одну единицу работы.

SqlConnection con = new SqlConnection("Your Connection String");
con.Open();
SqlTransatcion tran = con.BeginTransaction();
try
SqlCommand cmd = new SqlCommand("Your Insert command for customer",con,tran);
cmd.ExecuteNonQuery();
SqlCommand cmd1 = new SqlCommand("Your Insert command for Product",con,tran);
cmd1.ExecuteNonQuery();
tran.Commit();
}
catch(SqlException ex)
{
tran.Rollback();
}


Рейтинг:
0

Prerak Patel

Вы можете хранить данные в любом количестве таблиц, как вы хотите на click event. Вы просто должны выполнять разные команды. Вы можете использовать транзакцию.


Рейтинг:
0

member60

Вы можете написать хранимую процедуру или простую транзакцию . если он не соответствует вашему решению ,то, пожалуйста, опишите свой вопрос должным образом.


Рейтинг:
0

Member 3827009

Вы можете использовать хранимую процедуру, в которой вы можете создавать запросы для выполнения запроса(вставить данные в 2 таблицы) и выполнять SP с помощью одной команды.


Рейтинг:
0

piyush modi

Как я уже писал выше, я использовал 2 разные таблицы для хранения данных.
я использовал 2 различные хранимые процедуры.
вы можете вызвать эти две хранимые процедуры на этом событии button_click, так что данные будут сохранены в базе данных одним нажатием кнопки.

Благодаря &ампер; с уважением.


Рейтинг:
0

PappuKumarMishra

Вы можете хранить данные в разных разных таблицах одновременно.
как таблица клиента, таблица депаэртмент ЕТК.
сначала вставьте данные в таблицу Customer
Customer cust=новый клиент();
если(каст.CustomerID==0)
{
cust.Name=txtName.Текст;
данные.InsertOnSubmit(cust);
data.SubmitChanges();--> здесь data-это ваш объект уровня доступа к данным(LINQ-SQL)
}
Department dept=новый отдел();
if(dept.DepartmentID==0)
{
отдел.Кодклиента=абон.CustomerID;(если CustomerID является внешним ключом в отделе)
dept.DeptName=txtdept.Text;
данные.InsertOnSubmit(dept);
данных.метода submitchanges();
}