Visual_Basic 板


LINE

我想写一个回圈 希望可以每6笔就传进一次资料库 传进资料库之後把Datagridview的那6笔删掉 等待新的6笔进来 下面是我自己写的程式码 一直出错 请大大们指教 Dim xrow As DataRow = table.NewRow Dim intI As Integer = 1 For intI = 1 To 6 xrow.Item(0) = RemoteIpEndPoint.Address.ToString xrow.Item(1) = txtport.Text xrow.Item(2) = Encoding.ASCII.GetString(receiveBytes) table.Rows.Add(xrow) Next intI --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.121.150.186
1F:推 serhgrt:把Dim xrow as DataRow 放进for 里面? 09/22 13:43
2F:→ mdjason:不行耶 不知道为啥 都会跳错误 09/22 13:52
3F:推 serhgrt:错误讯息方便写上来吗? 因为也不知道出了啥错误? 09/22 16:07
4F:→ mdjason:RUN起来是没有错误 可是直接执行程式的时候 会跳错误 09/22 16:10
5F:→ mdjason:我刚又自己试了一次 变成写入一次 他帮我写了六次进去... 09/22 16:12
6F:推 serhgrt:这段程式不是要写入6笔? 错误还在吗? 可以叙述错误一下吗? 09/22 16:19
7F:→ mdjason:我现在变成一次写进6条 然後写第二次 变成12条了 09/22 16:38
8F:→ mdjason:我自己也不知道错误在哪耶 因为他没有说明错误的点@@Y 09/22 16:41
9F:推 serhgrt:可以po比较完整点的程式码吗? 上面那段只能知道写入6笔@_@ 09/22 16:43
Imports System.IO Imports System.Net.Sockets.Socket Imports System Imports System.Text Imports System.Net Imports System.Net.Sockets Imports Microsoft.VisualBasic Imports System.Runtime.InteropServices Public Class Form1 Inherits System.Windows.Forms.Form Public receivingUdpClient As UdpClient Public RemoteIpEndPoint As New System.Net.IPEndPoint(System.Net.IPAddress.Any, 0) Public ThreadReceive As System.Threading.Thread Dim port As Integer Private table As New DataTable Public Sub ReceiveMessages() Dim receiveBytes As [Byte]() = receivingUdpClient.Receive(RemoteIpEndPoint) txtip.Text = RemoteIpEndPoint.Address.ToString Dim BitDet As BitArray BitDet = New BitArray(receiveBytes) Dim strReturnData As String = System.Text.Encoding.Unicode.GetString(receiveBytes) Dim intI As Integer = 1 For intI = 1 To 6 Dim xrow As DataRow = table.NewRow xrow.Item(0) = RemoteIpEndPoint.Address.ToString xrow.Item(1) = txtport.Text xrow.Item(2) = Encoding.ASCII.GetString(receiveBytes) table.Rows.Add(xrow) Next intI End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click port = txtport.Text receivingUdpClient = New System.Net.Sockets.UdpClient(port) ThreadReceive = New System.Threading.Thread(AddressOf ReceiveMessages) ThreadReceive.Start() txtport.Enabled = True Button2.Enabled = True Button1.Enabled = False DataGridView1.ReadOnly = True txtport.ReadOnly = True End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ThreadReceive.Abort() receivingUdpClient.Close() Button2.Enabled = False Button1.Enabled = True txtip.Text = "" DataGridView1.Enabled = False txtport.ReadOnly = False End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load table.Columns.Add("IP") table.Columns.Add("PORT") table.Columns.Add("MSG") DataGridView1.DataSource = table DataGridView1.Columns(0).Width = 100 DataGridView1.Columns(1).Width = 70 DataGridView1.Columns(2).Width = 230 End Sub End Class ※ 编辑: mdjason 来自: 140.121.150.186 (09/22 16:45)
10F:→ mdjason:我忘记我能编辑了 一直用推文 @@ 09/22 16:45
11F:推 serhgrt:你的DataTable是全域的 会变成累加,移至写入6笔那边吧! 09/22 16:52
12F:→ mdjason:好的 我再试试看 09/22 16:53
13F:→ mdjason:我移入Public Sub ReceiveMessages()那边 他不给我宣告耶 09/22 16:55
Public Sub ReceiveMessages() Dim receiveBytes As [Byte]() = receivingUdpClient.Receive(RemoteIpEndPoint) txtip.Text = RemoteIpEndPoint.Address.ToString Dim BitDet As BitArray BitDet = New BitArray(receiveBytes) Dim strReturnData As String = System.Text.Encoding.Unicode.GetString(receiveBytes) ***Dim table As New DataTable*** Dim intI As Integer = 1 For intI = 1 To 6 Dim xrow As DataRow = table.NewRow xrow.Item(0) = RemoteIpEndPoint.Address.ToString xrow.Item(1) = txtport.Text xrow.Item(2) = Encoding.ASCII.GetString(receiveBytes) table.Rows.Add(xrow) Next intI End Sub 我改成*** ***那样 可是还是一次写入6笔一样的数据耶 ※ 编辑: mdjason 来自: 140.121.150.186 (09/22 16:58)
14F:推 serhgrt:改成Dim table As New Datatable 放入? 09/22 16:57
15F:推 serhgrt:把抓封包资料的那几段程式摆进去for,让他重新取封包资料 09/22 17:15
16F:→ mdjason:非常感谢大大的帮忙 只是还是一次写进6笔相同资料 头疼>< 09/22 17:21
17F:推 serhgrt:你可能要查一下封包资料是否都没变或是没再重新抓取? 09/22 17:27
18F:→ mdjason:应该是没重新抓取 我每次都要Stop→Start才能再收一次 09/22 17:33
19F:→ mathlinka:先将 DataTable 设为全域,ReceiveMessages 里面不要写 09/22 19:06
20F:→ mathlinka:回圈,用 if DataTable.Rows.Count = 6 Then 09/22 19:07
21F:→ mathlinka:写入资料库 , 清空 DataTable 09/22 19:07
22F:→ mdjason:嗯 感谢楼上大大 还在实验室练习@@ 09/22 20:00







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP