ช่วยตัดข้อความให้หน่อยครับผมคิดมะออกอะ ไม่รู้จะตัดยังไงดี VB.Net ครับ
อันบนคือโจทย์
ใน rich textbox คือผลลัพที่ต้องการหรือคับ
หรือจากที่ให้มา ต้องการตัดเอาแค่ IP
ประวัติการแก้ไข 2014-10-14 13:39:01
Date :
2014-10-14 13:33:44
By :
poomberry
พอได้ป่ะครับ
Code (VB.NET)
Private Function RetrunList(str As String) As List(Of String)
Dim lst As List(Of String) = Nothing
Dim words() As String = str.Replace("dynamic", "").Replace(" ", "").Split(" ")
For Each word As String In words
If word.Trim().Length > 0 And word.Trim().Substring(2, 1) = "." Then
lst.Add(word)
End If
Next
Return lst
End Function
Date :
2014-10-14 14:56:21
By :
lamaka.tor
ตอบความคิดเห็นที่ : 3 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-10-14 14:56:21
รายละเอียดของการตอบ ::
ได้แล้วฮับ แต้งฮับ
Code (VB.NET)
Dim tmpstr As String = RichTextBox1.Text
tmpstr = tmpstr.Replace("mic ", ",").Replace("tic ", ",").Replace("Type", ",")
RichTextBox1.Text = tmpstr
Dim strValueIP(300) As String
Dim strValueMac(300) As String
strValueIP = tmpstr.Split(",")
strValueMac = tmpstr.Split(",")
For i = 1 To strValueIP.Length - 1
strValueIP(i) = strValueIP(i).Replace(" ", "|")
Dim Instrtmp As Integer = InStr(strValueIP(i), "|")
strValueIP(i) = Mid(strValueIP(i), 1, Instrtmp)
strValueIP(i) = strValueIP(i).Replace("|", "").Trim().Trim().Trim().Trim().Trim().Trim()
LstIP.Items.Add(strValueIP(i))
strValueMac(i) = strValueMac(i).Replace(" dyna", "").Replace(" sta", "")
strValueMac(i) = Microsoft.VisualBasic.Right(strValueMac(i), 17)
LstName.Items.Add(strValueMac(i).Trim().Trim().Trim().Trim())
Next
Date :
2014-10-14 15:13:19
By :
zarooman
คราวนี้ผม จะ เพิ่มข้อมูลใน Listbox เข้าไปทั้งหมด โดย Excute ครั้งเดียวจะต้องเขียนคำสั่งยังไงครับ
Code (SQL)
INSERT INTO tblhost(HostName,HostIP,Status,Detail) VALUES
('f8-bc-12-9b-39-ee','10.0.0.4','On Line','Onland'),('f8-bc-12-9b-39-ee','b4-99-ba-a5-64-27','On Line','Onland')
แบบนี้ไม่ได้อะครับ
แจ้งว่า
ใช้ฐานข้อมูล Access นะครับ
Date :
2014-10-14 15:35:17
By :
zarooman
ลง datagrid แล้ว update ไม่ง่ายกว่าเรอะครับพี่(ผมถนัด data source)
Date :
2014-10-14 15:53:17
By :
lamaka.tor
ถ้าเป็น
INSERT INTO tblhost(HostName,HostIP,Status,Detail) VALUES('f8-bc-12-9b-39-ee','10.0.0.4','On Line','Onland')
เคยทำครับ
แต่
INSERT INTO tblhost(HostName,HostIP,Status,Detail) VALUES('f8-bc-12-9b-39-ee','10.0.0.4','On Line','Onland'),('f8-bc-12-9b-39-ee','b4-99-ba-a5-64-27','On Line','Onland')
มันทำได้ด้วยเรอะครับ(ไม่เคยจิงๆ) เหมือนเพิ่มที่ละหลายๆ row ใช่ไม๊ครับ
แบบนั้นผมเคยทำแต่แบบ เพิ่ม row ใน datatable แล้วเอาไป update เอาอ่าครับพอได้ป่าวครับ(ความรู้ผมมัน งูๆ ปลาๆ จริงๆ)
Date :
2014-10-14 16:07:01
By :
lamaka.tor
ตอบความคิดเห็นที่ : 8 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-10-14 16:07:01
รายละเอียดของการตอบ ::
ทำได้ครับผม
insert into invoice(paycode,ref,ref2,customer_tel,print_slip,amount, expired_datetime, entered_datetime) values ('422011641001705','T5D130407281-0114-1014','T5D130407281-0114','0868376144','ขอบพระคุณค่ะ',1000,ADDDATE(now(),30),now()),('422011641001065','T5D130506646-0713-1014','T5D130506646-0713','0836230959','ขอบพระคุณค่ะ',1000,ADDDATE(now(),30),now()),('422011641001067','T5D130506649-0713-1014','T5D130506649-0713','0870595619','ขอบพระคุณค่ะ',1000,ADDDATE(now(),30),now()),('422011641001262','T5D130506841-0913-0115','T5D130506841-0913','0912366979','ขอบพระคุณค่ะ',1000,ADDDATE(now(),30),now()),('422011641000177','T7G040102557-0712-1014','T7G040102557-0712','0897539735','ขอบพระคุณค่ะ',500,ADDDATE(now(),30),now()),('422011641000190','T7G050102571-0712-1014','T7G050102571-0712','0820823969','ขอบพระคุณค่ะ',1000,ADDDATE(now(),30),now()),('422011641000199','T7G050102601-0812-1014','T7G050102601-0812','0850916951','ขอบพระคุณค่ะ',350,ADDDATE(now(),30),now()),('422011641000507','T7G050102615-0812-0914','T7G050102615-0812','0868278579','ขอบพระคุณค่ะ',1800,ADDDATE(now(),30),now()),('422011641000955','T7G050102848-0313-1014','T7G050102848-0313','0816366889','ขอบพระคุณค่ะ',1800,ADDDATE(now(),30),now()),('422011641000968','T7G050103116-1113-1014','T7G050103116-1113','0802396973','ขอบพระคุณค่ะ',350,ADDDATE(now(),30),now()),('422011641000183','T7G060102563-0712-1014','T7G060102563-0712','087-0264203','ขอบพระคุณค่ะ',1000,ADDDATE(now(),30),now()),('422011641000515','T7G060102631-0912-1014','T7G060102631-0912','0876068577','ขอบพระคุณค่ะ',1800,ADDDATE(now(),30),now()) ON DUPLICATE KEY UPDATE ref=VALUES(ref),ref2=VALUES(ref2),citizen_id=VALUES(citizen_id),customer_tel=VALUES(customer_tel),print_slip=VALUES(print_slip),amount=VALUES(amount),expired_datetime=VALUES(expired_datetime),entered_datetime=NOW()
สั่ง excute ครั้งเดียวอะครับ ใน Mysql แต่ผมมาทำใน Acc ไม่ได้ งงเลย
บางทีโปรแกรมต้อง Loop Excute ถึง 5000 ครั้ง มันจะช้ามากครับ ถ้า Excute ทุกครั้ง ก็เลยต้องสั่ง Insert แบบ Multirow
ประวัติการแก้ไข 2014-10-14 16:27:43
Date :
2014-10-14 16:27:12
By :
zarooman
http://stackoverflow.com/questions/1212943/sql-code-to-insert-multiple-rows-in-ms-access-table
Date :
2014-10-14 16:34:10
By :
lamaka.tor
ขอถามนิดนึงครับ data source ที่ .net สร้างให้กับ แบบที่เราสร้างเองแบบไหนดีกว่ากันครับ
พอดีผมใช้เป็นแต่ data source ที่ .net สร้างให้ แต่ในกระทู้ส่วนใหญเห็นแต่แบบที่สร้างเอง
Date :
2014-10-14 16:38:40
By :
lamaka.tor
ตอบความคิดเห็นที่ : 9 เขียนโดย : zarooman เมื่อวันที่ 2014-10-14 16:27:12
รายละเอียดของการตอบ ::
bulk insert
สร้าง datatable ก่อน
แล้วส่งทั้ง datatable ไป insert ผ่าน dataadapter ทีเดียวจบ
Code (C#)
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
for (int i = 1;i <= 100;i++)
{
DataRow dr = dt.NewRow();
dr["ID"] = i;
dr["Name"] = string.Format("Thaicreate{0}", i.ToString("000"));
}
using (SqlConnection connection = new SqlConnection("..."))
using (SqlCommand command = connection.CreateCommand())
{
string commandString = "INSERT INTO [MyTABLE] ([ID], [Name]) VALUES (@ID, @Name);";
command.CommandTimeout = 240;
command.CommandType = CommandType.Text;
command.CommandText = commandString ;
command.Parameters.AddWithValue("@ID", SqlDbType.Int, 4, "ID");
command.Parameters.AddWithValue("@Name", SqlDbType.NVarChar, 255, "Name");
using (SqlDataAdapter insertAdapter = new SqlDataAdapter())
{
insertAdapter.InsertCommand = command;
insertAdapter.UpdateBatchSize = dt.Rows.Count;
insertAdapter.Update(dt);
}
}
ในตัวอย่างเป็น sql server จะใช้ตัวอื่นก็แก้เอา
Date :
2014-10-14 17:03:54
By :
ห้ามตอบเกินวันละ 2 กระทู้
เห็นด้วยครับผมก็ใช้แบบนี้แหละ แต่ไม่รู้ว่ามันเรียก bulk insert พอดีมันพ่วงมากะ data source
Date :
2014-10-14 17:25:04
By :
lamaka.tor
ตอบความคิดเห็นที่ : 12 เขียนโดย : ห้ามตอบเกินวันละ 2 กระทู้ เมื่อวันที่ 2014-10-14 17:03:54
รายละเอียดของการตอบ ::
ก่อนอื่น ต้องขอบคุณมากครับผม ที่แนะนำ
แบบนี้ผมจำได้ตอนสมัยเรียน เคยใช้แต่ตอนเรียนแต่พอนานๆมา ไม่รู้วิธีที่ผมใช้อยู่มันมาได้ไง จนเคยชินแล้วอันเก่าก็ลืมเลือนไป หุหุ
สงสัยจะ เกิดจากความเคยชินที่เห็นบ่อยบวกกับความคิดส่วนตัวว่ามันง่ายดี เลยติดอะครับ
ตอนนี้ผมใช้แบบนี้อะครับ
Code (VB.NET)
Dim MyCmd As New MySqlCommand
Dim strInsert As String = String.Format("INSERT INTO tblemployee(EmployeeID,EmployeeName,UserName,Password,BranchID)VALUES('{0}','{1}','{2}','{3}','{4}')", add.txtEmployeeID.Text, add.txtEmployeeName.Text, add.txtEmployeeUser.Text, add.txtEmployeePassword.Text, cbbBranch.SelectedValue.ToString())
With MyCmd
.Connection = Thipmanee_Media_Network_Customer_Management_System.MDIMain.MyCon
.CommandText = strInsert
.ExecuteNonQuery()
End With
เช่นเดียวกับ Reply No.9 คำสั่งก็ Excute แบบนี้เหมือนกัน
แล้วทีนี้แบบไหนดีกว่ากันหรอครับแบบไหนจะทำงานได้ไวกว่ากัน
ช่วยแนะนำหน่อยนะครับ
ประวัติการแก้ไข 2014-10-15 02:15:59
Date :
2014-10-15 02:14:25
By :
zarooman
Load balance : Server 05