从GridView插入多行 [英] Insert Multiple Rows from GridView

查看:147
本文介绍了从GridView插入多行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的代码:

My Code:

try
 {
    for (int i = 0; i < gradePolicyGridView.Rows.Count - 1; i++)
        {
           db.command.Parameters.Add("@ClassInterval", SqlDbType.VarChar).Value = gradePolicyGridView.Rows[i].Cells[1].Value.ToString();
           db.command.Parameters.Add("@LetterGrade", SqlDbType.VarChar).Value = gradePolicyGridView.Rows[i].Cells[2].Value.ToString();
           db.command.Parameters.Add("@GradePoint", SqlDbType.Decimal).Value = Convert.ToDecimal(gradePolicyGridView.Rows[i].Cells[3].Value.ToString());
           db.Adapter("insertGradePolicy", true);
           MessageBox.Show("Data saved successfully...");
        }
  }
  catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }


在我的GridView控件中,我放置了3行,但是,当我按下保存按钮时,GridView会清除其所有值,并在SQL Server表中仅插入1行.如何从我的GriedView中插入多行.

我的存储过程:


In my GridView controls I am putting 3 rows but, when I press the save button the GridView clean its all values and inserting only 1 -row in my sql server table. How, can I insert multiple rows from my GriedView.

My Stored procedure :

USE [SMS2]
GO
/****** Object:  StoredProcedure [dbo].[insertGradePolicy]    Script Date: 06/20/2012 09:58:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[insertGradePolicy]
	(
	 @ClassInterval 	[varchar](50),
	 @LetterGrade 	[varchar](50),
	 @GradePoint 	[decimal])

AS INSERT INTO [SMS2].[dbo].[GradePolicy] 
	 ( 
	 [ClassInterval],
	 [LetterGrade],
	 [GradePoint])
 
VALUES 
	( 
	 @ClassInterval,
	 @LetterGrade,
	 @GradePoint 
	)


我的桌子:


My Table:

USE [SMS2]
GO
/****** Object:  Table [dbo].[GradePolicy]    Script Date: 06/20/2012 10:52:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[GradePolicy](
	[SL] [int] IDENTITY(1,1) NOT NULL,
	[ClassInterval] [varchar](50) NULL,
	[LetterGrade] [varchar](50) NULL,
	[GradePoint] [decimal](18, 0) NULL,
 CONSTRAINT [PK_GradePolicy] PRIMARY KEY CLUSTERED 
(
	[SL] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF


请告诉我代码中的问题是什么,或者如何在不清理GridView字段的情况下更新c#代码以插入多行.

谢谢..


Please tell me where is the problem in my code or how can I update my c# code to insert multiple rows without cleaning GridView fields.

Thank you..

推荐答案


试试这个
Hi ,
Try this one
foreach (DataGridViewRow row in dataGridView1.Rows)
            {
            // here your Storedprocdure  
           //MessageBox.Show(row.Cells[0].Value.ToString());
            }


最好的问候
米特瓦里(M.Mitwalli)


Best Regards
M.Mitwalli


这篇关于从GridView插入多行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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