如何将 RadGrid 的所有行一次保存到 SQL 数据库中单击按钮以及 RadGrid 外部的另一个数据

How to save all the rows of RadGrid at once into SQL Database on a button click along with another data which is outside of RadGrid

有一个 RadGrid(比如 "RadGridBill"),其中我有 4 列:

  1. ID
  2. 帐单 ID
  3. 费用
  4. 业务部门

以上 RadGrid 的 (RadGridBill) 数据使用 "Billing Table" 绑定。

我必须在网页上显示另一个 RadGrid(比如 "RadGridInvoice"),包含以下列:

  1. ID
  2. 发票编号
  3. 账单ID
  4. 费用
  5. 业务部门
  6. 状态
  7. 发票编号

数据库中有一个名为 "Invoice Table" 的 table,具有以上列。

在 RadGrid 的外部有一个名为 "Generate" 按钮的按钮。

现在,我的要求是: 我必须使用 Billing Table(所有行)将 "RadGridBill" 的记录保存到数据库 "Invoice Table" 各自的列(即 Billing Table Cost 列数据应保存在 Invoice Table Cost 列中)以及"Status";在 "Generate" 按钮上单击

此外,当用户单击 "Generate" 按钮时,"Status" 应保存为 "Draft",存入数据库 "Invoice Table"。

这所有的数据必须立即保存到 Invoice table.

请告诉我如何实现上述场景。

我对 Telerik 很陌生 提前致谢。

查看下面的代码...

string InvoiceID;
string BillingID;
string Cost;
string BusinessUnit;
string Status;
string InvoiceNumber;
public static string connectionString = ConfigurationManager.AppSettings("ConnectionString");
public SqlConnection SqlConnection = new SqlConnection(connectionString);
public SqlDataAdapter SqlDataAdapter = new SqlDataAdapter();

public SqlCommand SqlCommand = new SqlCommand();
private void insertgrd()
{
    foreach (GridDataItem itm in RadGrid1.Items) {
        InvoiceID = itm["InvoiceID"].Text;
        BillingID = itm["BillingID"].Text;
        Cost = itm["Cost"].Text;
        BusinessUnit = itm["BusinessUnit"].Text;
        Status = itm["Status"].Text;
        InvoiceNumber = itm["InvoiceNumber"].Text;
        try {
            //Open the SqlConnection
            SqlConnection.Open();
            //Update Query to insert into the database
            string insertQuery = "INSERT into Invoice values('" + InvoiceID + "','" + BillingID + "','" + Cost + "','" + BusinessUnit + "','" + Status + "','" + InvoiceNumber + "')";
            SqlCommand.CommandText = insertQuery;
            SqlCommand.Connection = SqlConnection;
            SqlCommand.ExecuteNonQuery();
            //Close the SqlConnection


            SqlConnection.Close();
        } catch (Exception ex) {
            Interaction.MsgBox("Unable to insert. Reason: " + ex.Message);

        }

    }
}

在Button_click事件中调用上述函数...

希望这对您有所帮助...