无法从数据网格视图中保存多个Recodr [英] Multiple recodrs are not saving from data grid view

查看:61
本文介绍了无法从数据网格视图中保存多个Recodr的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




我正在尝试将数据从数据网格视图保存到数据库,但是它一次要保存一个数据,我想保存多个数据,请任何人告诉我该怎么做




在此先感谢

Hi,


I am trying to save the data from data grid view to database but it is saving one data at one time i want to save multiple data please can any one tell me how to do this




Thanks in advance

推荐答案

您将从这些链接中获得一些帮助:
此处 [此处 [此处 [
You will get some help from these links:
Here[^]
Here[^] &
Here[^]


步骤1:
StringBuilder strSample = new StringBuilder();
DataTable dt = new Datatable();

第2步:
将datagridview值添加到上面声明的数据表中;

第3步:
strSample.Append(< Root>");
如果(dt.Rows.Count> 0)
{
foreach(dt.rows中的DataRow dtDetailsRow)
{
strSample.Append(< TESTDETAILS TEST_ID1 =""+ 1 +"'');
strSample.Append("TEST_VALUE1 =""+" SAMPLE TEST"+"''/>);
}
}
strSample.Append(</Root>");

第4步:
将此"strSample"字符串生成器发送到SQL Server存储过程,如下所示

第5步:
创建过程[dbo].[SP_Sample_Test]
(
@strSample NText
)
AS
开始
-添加了SET NOCOUNT ON以防止产生额外的结果集
-干扰SELECT语句.
设置NOCOUNT ON;
十进制@OC INT
-温度表声明
声明@TBLSAMPLEDTLS表格
(
TEST_ID1 INT,
TEST_VALUE1 VARCHAR(25)
)
SET @ ERRORCODE = 0

-临时表插入
Exec SP_XML_PrepareDocument @OC输出,@ strSample
插入@TBLSAMPLEDTLS
(
TEST_ID1,TEST_VALUE1
)
SELECT TEST_ID1,TEST_VALUE1
来自OPENXML(@OC,''Root/TESTDETAILS'',1)
WITH(TEST_ID1 INT,TEST_VALUE1 VARCHAR(25))

-主表插入
插入到Sample_Test
(
TEST_ID1,TEST_VALUE1
)
从@TBLSAMPLEDTLS中选择TEST_ID1,TEST_VALUE1

SET @ ERRORCODE = 0


END


最终,您一口气上传了数据.
STEP 1:
StringBuilder strSample = new StringBuilder();
DataTable dt = new Datatable();

STEP 2:
Add your datagridview value in to above declared datatable;

STEP 3:
strSample.Append("<Root>");
if (dt.Rows.Count > 0)
{
foreach (DataRow dtDetailsRow in dt.Rows)
{
strSample.Append(" <TESTDETAILS TEST_ID1 = ''" + 1 + "''");
strSample.Append(" TEST_VALUE1 = ''" + "SAMPLE TEST" + "''/>");
}
}
strSample.Append("</Root>");

Step 4:
send this "strSample" stringbuilder to SQL Server Stored Procedure Like below

Step 5:
CREATE PROCEDURE [dbo].[SP_Sample_Test]
(
@strSample NText
)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @OC INT
--TEMP TABLE DECLARATION
DECLARE @TBLSAMPLEDTLS TABLE
(
TEST_ID1 INT,
TEST_VALUE1 VARCHAR(25)
)
SET @ERRORCODE=0

--Temp table Insert
Exec SP_XML_PrepareDocument @OC Output, @strSample
INSERT INTO @TBLSAMPLEDTLS
(
TEST_ID1,TEST_VALUE1
)
SELECT TEST_ID1,TEST_VALUE1
FROM OPENXML(@OC,''Root/TESTDETAILS'',1)
WITH (TEST_ID1 INT,TEST_VALUE1 VARCHAR(25))

--Main table Insert
INSERT INTO Sample_Test
(
TEST_ID1,TEST_VALUE1
)
SELECT TEST_ID1,TEST_VALUE1 FROM @TBLSAMPLEDTLS

SET @ERRORCODE=0


END


Finally at one shot your data''s get uploaded.


pls在循环条件下提供datagridview
for(i = 0; i< datagridview1; i ++)>
{
插入表名value();
}
pls give datagridview in loop condition
for(i=0;i<datagridview1;i++)>
{
insert into table name value();
}


这篇关于无法从数据网格视图中保存多个Recodr的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆