如何将 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 列:
- ID
- 帐单 ID
- 费用
- 业务部门
以上 RadGrid 的 (RadGridBill) 数据使用 "Billing Table" 绑定。
我必须在网页上显示另一个 RadGrid(比如 "RadGridInvoice"),包含以下列:
- ID
- 发票编号
- 账单ID
- 费用
- 业务部门
- 状态
- 发票编号
数据库中有一个名为 "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事件中调用上述函数...
希望这对您有所帮助...
有一个 RadGrid(比如 "RadGridBill"),其中我有 4 列:
- ID
- 帐单 ID
- 费用
- 业务部门
以上 RadGrid 的 (RadGridBill) 数据使用 "Billing Table" 绑定。
我必须在网页上显示另一个 RadGrid(比如 "RadGridInvoice"),包含以下列:
- ID
- 发票编号
- 账单ID
- 费用
- 业务部门
- 状态
- 发票编号
数据库中有一个名为 "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事件中调用上述函数...
希望这对您有所帮助...