新手问题,大虾请帮忙!

wx_zl 2007-01-22 10:13:34
做一个下拉表单,具有添加功能.
首先从oracle抽取数据,放入定义的数据集ds,将其中的WIP_ENTITY_NAME显示在下拉菜单中,选中某一个,添按加按钮(Button4),将数据添加进sql数据库JOB_SPILIT,如果库中已经有数据则不添加.
Imports System.Windows.Forms
Imports DataBase

Public Class JobSplitForm

Private ds, ds1 As DataSet
Private myOracleData As New OracleData()
Private mySqlData As New SqlData()

Private Sub GetDataLoad()
ds = myOracleData.JOB_Select()

If ds.Tables(0).Rows.Count > 0 Then
Dim i As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
JobComboBox.Items.Add(ds.Tables(0).Rows(i)("WIP_ENTITY_NAME").ToString().Trim())
Next
End If
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
If JobComboBox.Text = "" Then
MessageBox.Show("工单单号为空!", "提示")

Else
ds1 = mySqlData.JOBSPLIT_SELECT(JobComboBox.SelectedItem.ToString().Trim())
If ds1.Tables(0).Rows.Count = 0 Then

Dim i, j As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
If ds.Tables(0).Rows(i)("WIP_ENTITY_ID").ToString() = JobComboBox.SelectedItem.ToString() Then
j = i
If mySqlData.JOBSPLIT_INSERT(ds.Tables(0).Rows(j)("WIP_ENTITY_NAME").ToString(), ds.Tables(0).Rows(j)("WIP_ENTITY_ID").ToString(), ds.Tables(0).Rows(j)("PRIMARY_ITEM_ID").ToString()) = True Then
MessageBox.Show("添加成功!", "提示")
Else
MessageBox.Show("该数据已经存在,插入失败!", "提示")
End If
End If
Next

End If
End If

End Sub

Private Sub JobSplitForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
GetDataLoad()
End Sub
End Class

sql引用:
Public Function JOBSPLIT_SELECT(ByVal str1 As String) As DataSet
Dim data As New DataSet()
Dim strSql As String
strSql = "SELECT * FROM JOB_SPLIT WHERE WIP_ENTITY_NAME='" + str1 + "'"
dsCommand.SelectCommand = New SqlCommand(strSql, con)
dsCommand.Fill(data)
JOBSPLIT_SELECT = data
End Function

Public Function JOBSPLIT_INSERT(ByVal str1 As String, ByVal str2 As String, ByVal str3 As String) As Boolean
dsCommand.InsertCommand = New SqlCommand("INSERT INTO JOB_SPLIT(WIP_ENTITY_ID,WIP_ENTITY_NAME,PRIMARY_ITEM_ID) VALUES('" + str1 + "','" + str2 + "','" + str3 + "')", con)
Try
dsCommand.InsertCommand.Connection.Open()
dsCommand.InsertCommand.ExecuteNonQuery()
JOBSPLIT_INSERT = True
Catch
JOBSPLIT_INSERT = False
End Try
dsCommand.InsertCommand.Connection.Close()
End Function

实在找不出,郁闷老半天了,具体思路如上,请大家帮帮忙,感激万分!
...全文
255 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
fox59172 2007-01-23
  • 打赏
  • 举报
回复
INSERT 插入的时候不对应
wx_zl 2007-01-23
  • 打赏
  • 举报
回复
又是一天~~顶上去先
wx_zl 2007-01-23
  • 打赏
  • 举报
回复
搞定!谢谢大家帮忙,结贴了!
水如烟 2007-01-22
  • 打赏
  • 举报
回复
.
Try
dsCommand.InsertCommand.Connection.Open()
dsCommand.InsertCommand.ExecuteNonQuery()
JOBSPLIT_INSERT = True
Console.WriteLine(dsCommand.InsertCommand.CommandText) '这里看看
Catch
JOBSPLIT_INSERT = False
End Try
dlzhangln 2007-01-22
  • 打赏
  • 举报
回复
JobComboBox.SelectedItem.text
JobComboBox.SelectedItem是一个listItem你怎么能让他tostring()呢
wx_zl 2007-01-22
  • 打赏
  • 举报
回复
我觉得是If dsss.Tables(0).Rows(i)("WIP_ENTITY_ID").ToString() = JobComboBox.SelectedItem.ToString()这个条件语句走进不去,不知道怎么改,不知道是不是这样..
wx_zl 2007-01-22
  • 打赏
  • 举报
回复
感谢大家热心回帖,还请继续帮忙,谢谢
wx_zl 2007-01-22
  • 打赏
  • 举报
回复
ds1是从表JOB_SPLIT里抽取数据和JOBCOMBOBOX进行比较啊,=0不是就说明数据库里没这数据,然后进行插入工作吗?
KCP 2007-01-22
  • 打赏
  • 举报
回复
他这里ds1.Tables(0).Rows.Count = 0 是说SQL 里面没有该数据吧?
fp2002 2007-01-22
  • 打赏
  • 举报
回复
竟然ds1.Tables(0).Rows.Count = 0啦,怎么还会循环呢??改一下条件吧~~~~
dlzhangln 2007-01-22
  • 打赏
  • 举报
回复
If ds1.Tables(0).Rows.Count = 0 Then

Dim i, j As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1

.......
....
Next

End If
//ds1.Tables(0).Rows.Count 都是0了,就不能走进你的循环了,所以错了
wx_zl 2007-01-22
  • 打赏
  • 举报
回复
忘记说了,如果选中的下拉菜单里的某一WIP_ENTITY_NAME,如果SQL数据库里没有该数据,则将oracle里的WIP_ENTITY_ID,WIP_ENTITY_NAME,PRIMARY_ITEM_ID三项插入到SQL数据库.这里我的思路是将JOBCOMBOBOX里的已选项和DS里的比较,相同的抽出来插入SQL数据库,不知道思路是不是也有问题,请大家帮忙,有程序最好,谢谢.分不够继续加
wx_zl 2007-01-22
  • 打赏
  • 举报
回复
运行结果正常,但是添加不进SQL数据库,大家来找茬.谢谢
wx_zl 2007-01-22
  • 打赏
  • 举报
回复
哥几个帮帮忙啊~~头大了
wx_zl 2007-01-22
  • 打赏
  • 举报
回复
给dlzhangln(才高七八斗,学富五六车,改行三四次,月入一两千!) :
那怎么样才能取到JobComboBox里的选择项的值呢?
还有就是,我感觉我的j没有取到i的值啊,也就是白有一个循环了,最终需要的j=i没有取到

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧