- PR -

自動インクリメントされる列にRows.Addでエラー

1
投稿者投稿内容
kotarei1
会議室デビュー日: 2004/10/24
投稿数: 3
投稿日時: 2004-10-24 15:09
初めて投稿させていただきます。
webアプリでDataGridに行を追加しDBにinsert処理をしたいと思いますが
BtnAddnew名の新規登録ボタンを作成しボタンをクリックした時
Rows.Addで重複のID 4がある旨のエラーがでてしまいます。-1が入らないのです。
4はDataGrid.Items.Count-1の数字のような気がしますが?
他に何が必要なのかわかりません。ご教授ねがえればと思います。
visualsutudo 2003
windows2000server
sql2000server

Private Sub Page_Load
If Not IsPostBack Then
Session_table = Nothing
BindGrid()
Else
Session_table = Session("Session_table")
End If
End Sub
Sub BindGrid()
If Session_table Is Nothing Then
SqlDataAdapter1.Fill(myDataSet)
Session_table = myDataSet.Tables(ストアドプロシジャー)
Dim dc As DataColumn = Session_table.Columns("ID")
With dc
.AutoIncrement = True
.AutoIncrementSeed = -1
.AutoIncrementStep = -1
End With
Session_table.PrimaryKey = New DataColumn() {dc}
Session("Session_table") = Session_table
End If
With DataGrid
.DataSource = Session_table
.DataKeyField = "ID"
.DataBind()
End With
End Sub
Private Sub BtnAddnew_Click
Dim dr As DataRow = Session_table.NewRow
Session_table.Rows.Add(dr) //--ここでエラー
AddingNew = True //--ViewState作成Property
Session("Session_table") = Session_table
DataGrid.EditItemIndex = DataGrid.Items.Count
BindGrid()
End Sub
kotarei1
会議室デビュー日: 2004/10/24
投稿数: 3
投稿日時: 2004-10-25 17:25
すみません解決いたした。
SqlDataAdapter1.Fill(myDataSet)
myDataSetをSISTEM.DATA.DATASETと型の無いDATASETを作成たら
すんなりはいりました。お騒がせいたしました。
1

スキルアップ/キャリアアップ(JOB@IT)