0

我有 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)";
4

2 回答 2

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();
    }
}
于 2013-05-06T12:05:10.587 回答
2

如果您想在单个命令执行中插入两条记录,则使用“;”加入查询。

cmd.CommandText = "insert into tbl_item (@itemcode,@itemname) values(ItemCode,ItemName);insert into  tbl_image (@itemcode,@itemimage) values(ItemCode,ItemImage)";
于 2013-05-06T12:53:19.460 回答