从datagrid末尾的datagrid复制选定的行

时间:2013-06-13 08:32:35

标签: sql-server vb.net visual-studio-2010 datagridview

我有一个数据网格,需要一个复制活动行并将其复制到新行的按钮。由于我是vb.net的新手,我需要帮助。 我正在尝试使用以下代码:

Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles      ToolStripButton1.Click
    Dim conn As New SqlConnection("Data Source=xxx\SQLEXPRESS;Initial Catalog=DB;Integrated Security=TRUE")
    Dim insert_cmd As SqlCommand = New SqlCommand("dbo.Table_Insert", conn)
    insert_cmd.CommandType = CommandType.StoredProcedure

    With Table1_SelectDataGridView.CurrentRow
        insert_cmd.Parameters.AddWithValue("@Name", .Cells("Name").Value)
        insert_cmd.Parameters.AddWithValue("@Age", .Cells("Age").Value)
    End With
        conn.Close()

End Sub

与存储过程结合

STORED PROCEDURE [dbo].[Table_Insert]
         @Name varchar(20)
         @FeierT_ID int
AS 
BEGIN 
 SET NOCOUNT ON 

 INSERT INTO dbo.table1
      ( 
        Name,
        Age    
      ) 
 VALUES 
      ( 
        @Name,
        @Age
        ) 
END 

当我尝试在visual studio中运行时,我收到错误:找不到“列”名称“。”即使你的表列名称是“名称”和“年龄”顺便说一句。 “年龄”也找不到。也许这是错误的做法。谁能告诉我这里有什么问题?

2 个答案:

答案 0 :(得分:0)

对于Datagridview Databound,您必须向数据源(表)提交附加记录

所以,你必须这样做

"INSERT INTO mytable ( fields here ... ) VALUES ( values here ..)"

然后刷新datagridview ..

dt2.datasource = mytable

已添加:

对于您的代码...尝试更改

insert_cmd.Parameters.AddWithValue("@Name", .item("Name"))
insert_cmd.Parameters.AddWithValue("@Age", .item("Age"))

答案 1 :(得分:0)

在sqlcommand中设置“dbo.Table_Insert”,存储过程名称为“dbo.Table1_Insert”。问题不在这里?...