从GridView插入多行 [英] Insert Multiple Rows from GridView
本文介绍了从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屋!
查看全文