listbox中多行内容插入数据库,但只能存入除第一行以外的数据,第一行的内容存不进去,请大家帮忙啊
现在在listbox中有多项内容,用循环语句把他们逐行添加到数据库,但是无论怎样,第一行的信息总存不进去,而其他行的信息可以存储进去,请问大概是什么原因啊,逐行都运行过了,好像一切都正常,index 为0~n-1,就是index为0的那项不能加入 问题点数:50、回复次数:5Top
1 楼Lcindep110(Descovering YourSelf)回复于 2006-03-13 11:50:46 得分 10
把你的代码贴出来看看吧.Top
2 楼zlz_212(ShREk)回复于 2006-03-13 11:54:50 得分 10
建议单步执行
监视相应得变量
Top
3 楼lovvver(ElephantTalk.Bright)回复于 2006-03-13 11:57:45 得分 30
第一行取到了吗?
执行了吗?
你用第一行数据构造一条sql语句,在查询分析器里执行一下,看看是否能执行成功。Top
4 楼winter7171(小木)回复于 2006-03-13 12:00:13 得分 0
不好意思,是vb的,不过相信C#的人也能看懂,基本操作是一样的,TempOLEDB系列是我编写的数据库读写类,没有问题,请大家帮我看一下到底i=0的那一行到哪里去了,我逐行都运行过了,就是找不出问题...
Dim n As Integer = ListBox1.Items.Count
Dim i As Integer
Dim ruser As Data.DataRow()
Dim mysql1 As String = "nature_id='" & Trim(ComboBox2.SelectedValue) & "'"
Dim mysql2 As String = "pr_id='" & Trim(ComboBox3.Text) & "'"
Dim mysql3 As String
TempOLEDB.FillTable("select * from nature_member", "nature_member")'临时表
Dim mynewrow As Data.DataRow
mynewrow = TempOLEDB.MyDataSet.Tables("nature_member").NewRow
For i = 0 To n - 1
mysql3 = "member_id='" & Trim(CStr(ListBox1.Items(i)).Substring(0, CStr(ListBox1.Items(i)).IndexOf(","))) & "'"
TempOLEDB.FillTable("select * from nature_member", "nature_member")
'验证添加信息是否重复
If TempOLEDB.MyDataSet.Tables("nature_member").Rows.Count <> 0 Then
ruser = TempOLEDB.MyDataSet.Tables("nature_member").Select(mysql1 & "and " & mysql2 & "and " & mysql3)
If ruser.Length <> 0 Then
MessageBox.Show("该分配状况已经存在", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Exit Sub
End If
End If
mynewrow.Item("nature_id") = ComboBox2.SelectedValue
mynewrow.Item("pr_id") = ComboBox3.Text
mynewrow.Item("member_id") = CStr(ListBox1.Items(i)).Substring(0, CStr(ListBox1.Items(i)).IndexOf(","))
TempOLEDB.MyDataSet.Tables("nature_member").Rows.Add(mynewrow)
TempOLEDB.UpdateDataSource("nature_member")'写入数据库
Next
MessageBox.Show("工作组人员分配成功!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
TempOLEDB.MyDataSet.Tables("nature_member").Dispose()Top
5 楼winter7171(小木)回复于 2006-03-13 13:43:21 得分 0
可能主要在后面部分,前面一些不相关的,有没有人能看出错在哪里啊,急Top




