2013-05-06 3 views
0

두 번째 테이블에는 Item 및 Image와 같은 첫 번째 테이블이 있습니다. tbl_Item에는 항목 코드, 항목 이름 및 두 번째 테이블 인 2 개의 필드가 있습니다. tbl_Image에는 항목 코드 및 항목 이미지와 같은 두 개의 필드가 있습니다. 항목 코드, 항목 이름, 항목 이미지 및 버튼과 같은 필드가 있습니다. 제출 버튼을 클릭하면 해당 레코드가 두 테이블에 모두 삽입됩니다. 두 테이블에 데이터를 삽입하고 싶습니다. 어떻게 가능합니까? 어떤 시체가 나를 제안 할 수 있습니까?2 테이블에 날짜 삽입

cmd.Connection = new SqlConnection(ConfigurationManager.ConnectionStrings[1].ToString()); 
    cmd.CommandText = "insert into tbl_item (@itemcode,@itemname) values(ItemCode,ItemName)"; 
    cmd.CommandText = "insert into tbl_image (@itemcode,@itemimage) values(ItemCode,ItemImage)"; 
+2

난 당신이 열 이름과 매개 변수를 교체 생각, 플러스 당신이 확실 테이블이기 때문에 실제 코드,'Image'이 tblItem''를 기반으로 뷰가되지 않는 것입니다 같은? – Habib

+0

_ "제출 버튼을 클릭하면 해당 레코드가 두 테이블에 모두 삽입됩니다"_ - 이것에 대해 확실합니까? 버튼 클릭시 하나의 쿼리 만 실행합니까? 데이터베이스에 트리거가 포함되어 있습니까? 아니면 실제로 @Habib이 말한 것과 같은 뷰입니까? 이것은 너무 모호해 해결할 수 없습니다. 더 많은 정보를 보여주십시오. – CodeCaster

+0

Habib, 네 진짜 코드의 첫 번째 2 개의 feilds 다음에 내가 추가됩니다 후 – Vijaya

답변

1

단일 명령 실행에 두 레코드를 모두 삽입하려면 ";"을 사용하여 쿼리를 조인하십시오.

cmd.CommandText = "insert into tbl_item (@itemcode,@itemname) values(ItemCode,ItemName);insert into tbl_image (@itemcode,@itemimage) values(ItemCode,ItemImage)"; 
+0

감사합니다. 너무 많은 Deniyal Tandel이 작동합니다. – Vijaya

+0

SQL 쿼리 자체가 잘못되었습니다. @ "tbl_item (ItemCode, ItemName) 값 (@ itemcode, @ itemname)에 삽입"해야합니다. –

+0

예. 나는 그것을 바 꾸었습니다. Deniyal Tandel – Vijaya

3

예, 두 개의 표에 동시에 삽입 할 수 있습니다. 이 코드를 확인하십시오 :

참고 : 원래 삽입 쿼리가 잘못되었으므로 수정했습니다.

public void InsertIntoDataBase(int itemCode, string itemName, string itemImage) 
{ 
    string connString = ConfigurationManager.ConnectionStrings[1].ToString(); 
    string query1 = @"insert into tbl_item (ItemCode,ItemName) values(@itemcode,@itemname)"; 
    string query2 = @"insert into tbl_image (ItemCode,ItemImage) values(@itemcode,@itemimage)"; 

    SqlConnection conn = new SqlConnection(connString); 

    try 
    { 
     // Exc]ecute the first query. 
     SqlCommand cmd = new SqlCommand(query1, conn); 
     cmd.Parameters.Add("@itemcode", SqlDbType.Int, 10, "ItemCode").Value = itemCode; // Pass the actual Item code 
     cmd.Parameters.Add("@itemname", SqlDbType.Text, 20, "ItemName").Value = itemName; //Pass the actual Item name 
     cmd.ExecuteNonQuery(); 


     // Exc]ecute the second query. 
     cmd = new SqlCommand(query2, conn); 
     cmd.Parameters.Add("@itemcode", SqlDbType.Int, 10, "ItemCode").Value = itemCode; // Pass the actual Item code 
     cmd.Parameters.Add("@itemimage", SqlDbType.Text, 20, "ItemImage").Value = itemImage; // Pass the actual Item image 
     cmd.ExecuteNonQuery(); 
    } 
    catch (Exception e) 
    { 

    } 
    finally 
    { 
     conn.Close(); 
    } 
} 
+0

skumar 고맙습니다. 내게 일했지만, 여기서 정적 값을 전달합니다. 값을 동적으로 전달하고 싶습니다. 어떻게해야합니까? – Vijaya

+0

@ user2131469 : 코드를 업데이트하고 확인했습니다. –