暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

鞋型圖片導入資料庫.vb 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. Option Strict Off
  2. Imports System.Data.SqlClient
  3. Imports System.Net
  4. Public Class 鞋型圖片導入資料庫
  5. Public Property Credentials As ICredentials
  6. ReadOnly conn As New SqlConnection : ReadOnly conn1 As New SqlConnection
  7. ReadOnly da As New SqlDataAdapter
  8. ReadOnly cmd As New SqlCommand : ReadOnly cmd1 As New SqlCommand
  9. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : ReadOnly ds2 As New DataSet : ReadOnly ds3 As New DataSet
  10. Dim dr As SqlDataReader
  11. Private Sub Set_DGV1載入前設定()
  12. DataGridView1.DataSource = Nothing : ds.Clear()
  13. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  14. DataGridView1.ColumnHeadersHeight = 25
  15. DataGridView1.AllowUserToAddRows = False
  16. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  17. End Sub
  18. Private Sub Set_DGV1載入後設定()
  19. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close() : Set_grid1()
  20. End Sub
  21. Private Sub Set_清單1()
  22. Set_DGV1載入前設定()
  23. SQL1 = "SELECT 客戶簡稱 FROM 客戶控制表 ORDER BY 客戶簡稱"
  24. Set_DGV1載入後設定()
  25. End Sub
  26. Private Sub Set_grid1()
  27. DataGridView1.Columns(0).Width = 185
  28. End Sub
  29. Private Sub Set_DGV2載入前設定()
  30. DataGridView2.DataSource = Nothing : ds1.Clear()
  31. DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  32. DataGridView2.ColumnHeadersHeight = 25
  33. DataGridView2.AllowUserToAddRows = False
  34. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  35. End Sub
  36. Private Sub Set_DGV2載入後設定()
  37. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close() : Set_grid2()
  38. End Sub
  39. Private Sub Set_grid2()
  40. DataGridView2.Columns(0).Width = 185
  41. End Sub
  42. Private Sub Set_DGV3載入前設定()
  43. DataGridView3.DataSource = Nothing : ds2.Clear()
  44. DataGridView3.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  45. DataGridView3.ColumnHeadersHeight = 25
  46. DataGridView3.AllowUserToAddRows = False
  47. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  48. End Sub
  49. Private Sub Set_DGV3載入後設定()
  50. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close() : Set_grid3()
  51. End Sub
  52. Private Sub Set_grid3()
  53. DataGridView3.Columns(0).Width = 285
  54. End Sub
  55. Private Sub Set_DGV4載入前設定()
  56. DataGridView4.DataSource = Nothing : ds3.Clear()
  57. DataGridView4.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  58. DataGridView4.ColumnHeadersHeight = 25
  59. DataGridView4.AllowUserToAddRows = False
  60. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  61. End Sub
  62. Private Sub Set_DGV4載入後設定()
  63. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds3) : DataGridView4.DataSource = ds3.Tables(0) : conn.Close() : Set_grid4()
  64. End Sub
  65. Private Sub Set_清單2()
  66. Set_DGV4載入前設定()
  67. If PA = "" Then
  68. SQL1 = "SELECT 顏色 FROM 顏色清單 ORDER BY 顏色"
  69. Else
  70. SQL1 = "SELECT 顏色 FROM 顏色清單 WHERE 顏色 LIKE N'%" & PA & "%' ORDER BY 顏色"
  71. End If
  72. Set_DGV4載入後設定()
  73. End Sub
  74. Private Sub Set_grid4()
  75. DataGridView4.Columns(0).Width = 285
  76. End Sub
  77. Private Sub 鞋型圖片導入資料庫_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  78. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  79. Set_清單1() : Set_清單2()
  80. TextBox1.Visible = False : TextBox7.Visible = False
  81. TextBox8.Enabled = False : TextBox3.Enabled = False : TextBox5.Enabled = False : TextBox6.Enabled = False
  82. Target1 = Target & AA(1) & "/"
  83. WebBrowser1.Url = New Uri(Target1)
  84. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  85. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  86. End If
  87. End Sub
  88. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  89. If e.RowIndex = -1 Then : Else
  90. TextBox8.Text = DataGridView1(0, e.RowIndex).Value.ToString
  91. Set_DGV2載入前設定()
  92. SQL1 = "SELECT 型體號碼 FROM 型體控制表 WHERE (客戶簡稱 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("客戶簡稱").Value & "') GROUP BY 型體號碼 ORDER BY 型體號碼"
  93. Set_DGV2載入後設定()
  94. End If
  95. End Sub
  96. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView2.CellClick
  97. If e.RowIndex = -1 Then : Else
  98. TextBox3.Text = DataGridView2(0, e.RowIndex).Value.ToString
  99. Set_DGV3載入前設定()
  100. SQL1 = "SELECT 型體名稱 FROM 型體控制表 WHERE (型體號碼 LIKE N'" & DataGridView2.Rows(e.RowIndex).Cells("型體號碼").Value & "') GROUP BY 型體名稱 ORDER BY 型體名稱"
  101. Set_DGV3載入後設定()
  102. End If
  103. End Sub
  104. Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView3.CellClick
  105. If e.RowIndex = -1 Then : Else
  106. TextBox5.Text = DataGridView3(0, e.RowIndex).Value.ToString
  107. End If
  108. End Sub
  109. Private Sub DataGridView4_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView4.CellClick
  110. If e.RowIndex = -1 Then : Else
  111. If ComboBox2.Text <> "設計圖" Then
  112. TextBox6.Text = DataGridView4(0, e.RowIndex).Value.ToString
  113. End If
  114. End If
  115. End Sub
  116. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
  117. If ComboBox2.Text = "設計圖" Then : TextBox6.Text = "" : End If
  118. End Sub
  119. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  120. PA = InputBox("請輸入要查詢的關鍵字") : Set_清單2() : PA = ""
  121. End Sub
  122. Private Sub TextBox4_DragEnter(sender As Object, e As DragEventArgs) Handles TextBox4.DragEnter
  123. If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  124. Dim files As String()
  125. Try
  126. files = CType(e.Data.GetData(DataFormats.FileDrop), String())
  127. TextBox4.Text = files(files.Length - 1)
  128. Catch ex As Exception
  129. MessageBox.Show(ex.Message)
  130. Return
  131. End Try
  132. End If
  133. Dim STR2 As Integer = 0
  134. TextBox7.Text = TextBox4.Text
  135. If TextBox4.Text = "" Then
  136. Else
  137. For i As Integer = 0 To 9999
  138. Dim STR1 As Integer = Strings.Len(TextBox7.Text)
  139. If Strings.Right((TextBox7.Text), 1) <> "\" Then
  140. STR1 -= 1 : STR2 += 1
  141. If STR1 = 0 Then
  142. TextBox7.Text = ""
  143. TextBox4.Text = ""
  144. i = 9999
  145. Else
  146. TextBox7.Text = Strings.Left((TextBox7.Text), STR1)
  147. End If
  148. Else
  149. TextBox7.Text = Strings.Right((TextBox4.Text), STR2)
  150. TextBox4.Text = TextBox7.Text
  151. i = 9999
  152. End If
  153. Next
  154. End If
  155. End Sub
  156. Private Sub TextBox4_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles TextBox4.DragDrop
  157. Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
  158. For Each file As String In files
  159. TextBox4.AppendText(file + Environment.NewLine)
  160. Next
  161. End Sub
  162. Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
  163. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  164. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  165. End If
  166. End Sub
  167. Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
  168. If TextBox4.Text = "" Or ComboBox2.Text = "" Or TextBox3.Text = "" Or TextBox8.Text = "" Then
  169. MsgBox("檔案名稱或資料不可空白")
  170. Else
  171. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  172. SQL1 = "SELECT 圖片編號 FROM 鞋型圖片資料庫 " &
  173. "WHERE 客戶 LIKE N'" & TextBox8.Text & "' AND 形體號 LIKE N'" & TextBox3.Text & "' AND 形體名 LIKE N'" & TextBox5.Text &
  174. "' AND 顏色 LIKE N'" & TextBox6.Text & "' AND 類別 LIKE N'" & ComboBox2.Text & "'"
  175. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  176. If dr.Read() Then
  177. MsgBox("資料重複,請從新輸入或檢查")
  178. conn.Close() : dr.Close()
  179. Else
  180. conn.Close()
  181. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  182. SQL1 = "SELECT TOP (1) 圖片編號 FROM 鞋型圖片資料庫 ORDER BY 圖片編號 DESC"
  183. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  184. If dr.Read() Then : TextBox1.Text = dr("圖片編號").ToString : Else : TextBox1.Text = "PN00000000" : End If
  185. conn.Close()
  186. Dim NUM1 As Integer
  187. NUM1 = Double.Parse(Strings.Right(TextBox1.Text, 8)) + 1
  188. If NUM1 < 10 Then : TextBox1.Text = "PN" & "0000000" & NUM1
  189. ElseIf NUM1 > 9 And NUM1 < 100 Then : TextBox1.Text = "PN" & "000000" & NUM1
  190. ElseIf NUM1 > 99 And NUM1 < 1000 Then : TextBox1.Text = "PN" & "00000" & NUM1
  191. ElseIf NUM1 > 999 And NUM1 < 10000 Then : TextBox1.Text = "PN" & "0000" & NUM1
  192. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : TextBox1.Text = "PN" & "000" & NUM1
  193. ElseIf NUM1 > 99999 And NUM1 < 100000 Then : TextBox1.Text = "PN" & "00" & NUM1
  194. ElseIf NUM1 > 999999 And NUM1 < 1000000 Then : TextBox1.Text = "PN" & "0" & NUM1
  195. ElseIf NUM1 > 9999999 Then : TextBox1.Text = "PN" & NUM1
  196. End If
  197. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  198. SQL1 = "INSERT INTO 鞋型圖片資料庫 (客戶, 形體號, 形體名, 顏色, 類別, 入圖者, 圖片編號, 圖片) SELECT N'" & TextBox8.Text & "',N'" & TextBox3.Text & "',N'" & TextBox5.Text &
  199. "',N'" & TextBox6.Text & "',N'" & ComboBox2.Text & "',N'" & gUserName & "',N'" & TextBox1.Text &
  200. "', BULKCOLUMN FROM OPENROWSET ( BULK '" & FTP實體位置 & AA(1) & "\" & TextBox4.Text & "', SINGLE_BLOB) AS EMPLOYEEPICTURE"
  201. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  202. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  203. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  204. frq = CType(WebRequest.Create(New Uri(Target1 & TextBox4.Text)), FtpWebRequest)
  205. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  206. frq.Credentials = fcr
  207. frq.Method = WebRequestMethods.Ftp.DeleteFile
  208. frq.UseBinary = True
  209. frp = CType(frq.GetResponse, FtpWebResponse)
  210. frp.Close()
  211. WebBrowser1.Refresh()
  212. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  213. TextBox6.Text = "" : TextBox4.Text = ""
  214. MsgBox("新增完成")
  215. End If
  216. End If
  217. End Sub
  218. End Class