将日期插入2个表格

时间:2013-05-06 10:44:44

标签: c# asp.net sql-server

我有2个像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 个答案:

答案 0 :(得分: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();
    }
}

答案 1 :(得分:1)

如果要在单个命令执行中插入两个记录,则使用“;”连接查询。

,例如

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