feat: 최초 커밋

This commit is contained in:
kje97 2025-07-08 15:33:46 +09:00
parent 410749e71c
commit e80ce16e1f
20 changed files with 6528 additions and 0 deletions

63
.gitattributes vendored Normal file
View File

@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary
###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain

363
.gitignore vendored Normal file
View File

@ -0,0 +1,363 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd

6
App.config Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
</configuration>

BIN
JOMT 아이콘.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

44
My Project/Application.Designer.vb generated Normal file
View File

@ -0,0 +1,44 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 코드는 도구를 사용하여 생성되었습니다.
' 런타임 버전:4.0.30319.42000
'
' 파일 내용을 변경하면 잘못된 동작이 발생할 있으며, 코드를 다시 생성하면
' 이러한 변경 내용이 손실됩니다.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'참고: 자동으로 생성되므로 직접 파일을 수정하지 마세요. 변경할 사항이 있거나
' 파일에서 빌드 오류가 발생하는 경우 프로젝트 디자이너로
' 이동([프로젝트 속성]으로 이동하거나 솔루션 탐색기에서 My Project 노드를
' 클릭) 다음 [애플리케이션] 탭에서 변경하세요.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.PackingCodeRemover.frmMySqlTest
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Function OnInitialize(ByVal commandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String)) As Boolean
Me.MinimumSplashScreenDisplayTime = 0
Return MyBase.OnInitialize(commandLineArgs)
End Function
End Class
End Namespace

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>frmMySqlTest</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
' 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
' 이러한 특성 값을 변경하세요.
' 어셈블리 특성 값을 검토합니다.
<Assembly: AssemblyTitle("db_test1")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("db_test1")>
<Assembly: AssemblyCopyright("Copyright © 2020")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
' 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
<Assembly: Guid("27af41f8-0dd5-4702-ba20-5a5a083a327f")>
' 어셈블리의 버전 정보는 다음 가지 값으로 구성됩니다.
'
' 버전
' 버전
' 빌드 번호
' 수정 버전
'
' 모든 값을 지정하거나 아래와 같이 '*' 사용하여 빌드 번호 수정 번호를
' 기본값으로 있습니다.
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

63
My Project/Resources.Designer.vb generated Normal file
View File

@ -0,0 +1,63 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 코드는 도구를 사용하여 생성되었습니다.
' 런타임 버전:4.0.30319.42000
'
' 파일 내용을 변경하면 잘못된 동작이 발생할 있으며, 코드를 다시 생성하면
' 이러한 변경 내용이 손실됩니다.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
' 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
'클래스에서 자동으로 생성되었습니다.
'멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을
'다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
'''<summary>
''' 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("PackingCodeRemover.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
''' 재정의합니다.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
End Module
End Namespace

117
My Project/Resources.resx Normal file
View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

73
My Project/Settings.Designer.vb generated Normal file
View File

@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 코드는 도구를 사용하여 생성되었습니다.
' 런타임 버전:4.0.30319.42000
'
' 파일 내용을 변경하면 잘못된 동작이 발생할 있으며, 코드를 다시 생성하면
' 이러한 변경 내용이 손실됩니다.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "My.Settings 자동 저장 기능"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.PackingCodeRemover.My.MySettings
Get
Return Global.PackingCodeRemover.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

126
MySqlModule.vb Normal file
View File

@ -0,0 +1,126 @@
Imports MySql.Data ' 데이터베이스 연동을 위한 네임스페이스 추가
Imports MySql.Data.MySqlClient ' MYSQL Server용 네임스페이스 추가
Module MySqlModule
Private Const ServerIP As String = "192.168.0.250"
Private Const DataBaseName As String = "jomtTesterDB"
Private Const UserName As String = "root"
Private Const Password As String = "JOMT1646db!!"
Private Const Conn As String = "Server=" + ServerIP + ";DataBase=" + DataBaseName + ";user=" + UserName + ";password=" + Password + ";"
Private sqlCon As New MySqlConnection(Conn)
Private sqlCmd As New MySqlCommand()
Private sqlData As MySqlDataReader
Public sqlDataQueryScalar As Object
Public sqlDataQuery() As Object
Private Function DBOpen() As Boolean
Try
If sqlCon.State <> ConnectionState.Open Then
sqlCon.Open()
End If
Return True
Catch ex As Exception
MsgBox("MySqlCommand Error:" + vbCrLf + Err.Description)
Return False
End Try
End Function
Private Function DBClose() As Boolean
Try
If sqlCon.State = ConnectionState.Open Then
sqlCon.Close()
End If
Return True
Catch ex As Exception
MsgBox("MySqlCommand Error:" + vbCrLf + Err.Description)
Return False
End Try
End Function
Public Function DBCommand(cmdStr As String) As Boolean
Try
sqlCon.Open()
sqlCmd.CommandText = "USE jomtTesterDB;"
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCmd.CommandText = cmdStr
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCon.Close()
Return True
Catch ex As Exception
MsgBox("MySqlCommand Error:" + vbCrLf + Err.Description)
sqlCon.Close()
Return False
End Try
End
End Function
Public Function DBQueryScalar(cmdStr As String) As String
Try
sqlCon.Open()
sqlCmd.CommandText = "USE jomtTesterDB;"
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCmd.CommandText = cmdStr
sqlCmd.Connection = sqlCon
sqlDataQueryScalar = sqlCmd.ExecuteScalar()
sqlCon.Close()
Return sqlDataQueryScalar
Catch ex As Exception
MsgBox("MySqlCommand Error:" + vbCrLf + Err.Description)
sqlCon.Close()
Return False
End Try
End
End Function
Public Function DBQueryReader(cmdStr As String) As Integer
Dim FieldCount As Integer
Dim QueryCount As ULong
Dim initRun As Boolean = True
Try
DBOpen()
sqlCmd.CommandText = "USE jomtTesterDB;"
sqlCmd.Connection = sqlCon
sqlCmd.ExecuteNonQuery()
sqlCmd.CommandText = cmdStr
sqlCmd.Connection = sqlCon
sqlData = sqlCmd.ExecuteReader
FieldCount = sqlData.FieldCount
While (sqlData.Read())
If initRun Then
ReDim sqlDataQuery(FieldCount - 1)
initRun = False
Else
ReDim Preserve sqlDataQuery(UBound(sqlDataQuery) + FieldCount)
End If
For cnt = 0 To FieldCount - 1
sqlDataQuery(QueryCount) = sqlData.GetString(cnt)
QueryCount += 1
Next
End While
DBClose()
Return QueryCount
Catch ex As Exception
'MsgBox("MySqlCommand Error:" + vbCrLf + Err.Description)
If sqlCon.State = ConnectionState.Open Then sqlCon.Close()
Return 0
End Try
End
End Function
End Module

25
PackingCodeRemover.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36203.30 d17.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "PackingCodeRemover", "PackingCodeRemover.vbproj", "{92B33A97-9AC7-48FD-98DF-E8DC3C9A6C2D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{92B33A97-9AC7-48FD-98DF-E8DC3C9A6C2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{92B33A97-9AC7-48FD-98DF-E8DC3C9A6C2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{92B33A97-9AC7-48FD-98DF-E8DC3C9A6C2D}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{92B33A97-9AC7-48FD-98DF-E8DC3C9A6C2D}.Release|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {598D118B-F2E2-4852-8BA9-7B754CA38949}
EndGlobalSection
EndGlobal

180
PackingCodeRemover.vbproj Normal file
View File

@ -0,0 +1,180 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{92B33A97-9AC7-48FD-98DF-E8DC3C9A6C2D}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>PackingCodeRemover.My.MyApplication</StartupObject>
<RootNamespace>PackingCodeRemover</RootNamespace>
<AssemblyName>PackingCodeRemover</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>PackingCodeRemover.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>PackingCodeRemover.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>JOMT 아이콘.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="Interop.bpac">
<HintPath>..\..\..\..\..\..\Program Files\Brother bPAC3 SDK\Samples\VBNET\Badge\bin\Release\Interop.bpac.DLL</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Ivi.Visa.Interop, Version=5.11.0.0, Culture=neutral, PublicKeyToken=a128c98f1d7717c1, processorArchitecture=AMD64">
<SpecificVersion>False</SpecificVersion>
<EmbedInteropTypes>True</EmbedInteropTypes>
<HintPath>..\..\..\..\..\..\Windows\assembly\GAC_64\Ivi.Visa.Interop\5.11.0.0__a128c98f1d7717c1\Ivi.Visa.Interop.dll</HintPath>
</Reference>
<Reference Include="MySql.Data, Version=8.0.20.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.20\Assemblies\v4.5.2\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="frmDBInput.Designer.vb">
<DependentUpon>frmDBInput.vb</DependentUpon>
</Compile>
<Compile Include="frmDBInput.vb" />
<Compile Include="frmMySqlTest.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmMySqlTest.Designer.vb">
<DependentUpon>frmMySqlTest.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="MySqlModule.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="frmDBInput.resx">
<DependentUpon>frmDBInput.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmMySqlTest.resx">
<DependentUpon>frmMySqlTest.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<COMReference Include="Microsoft.Office.Core">
<Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>5</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="Microsoft.Office.Interop.Excel">
<Guid>{00020813-0000-0000-C000-000000000046}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>7</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="VBIDE">
<Guid>{0002E157-0000-0000-C000-000000000046}</Guid>
<VersionMajor>5</VersionMajor>
<VersionMinor>3</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<ItemGroup>
<Content Include="JOMT 아이콘.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

154
frmDBInput.Designer.vb generated Normal file
View File

@ -0,0 +1,154 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmDBInput
Inherits System.Windows.Forms.Form
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Windows Form 디자이너에 필요합니다.
Private components As System.ComponentModel.IContainer
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
'수정하려면 Windows Form 디자이너를 사용하십시오.
'코드 편집기에서는 수정하지 마세요.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDBInput))
Me.Label6 = New System.Windows.Forms.Label()
Me.txbCurrent = New System.Windows.Forms.TextBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.txbDateTime = New System.Windows.Forms.TextBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.txbSN = New System.Windows.Forms.TextBox()
Me.Button1 = New System.Windows.Forms.Button()
Me.Label3 = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Font = New System.Drawing.Font("굴림", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.Label6.Location = New System.Drawing.Point(52, 198)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(70, 21)
Me.Label6.TabIndex = 19
Me.Label6.Text = "Current"
'
'txbCurrent
'
Me.txbCurrent.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.txbCurrent.Location = New System.Drawing.Point(194, 195)
Me.txbCurrent.Name = "txbCurrent"
Me.txbCurrent.Size = New System.Drawing.Size(262, 35)
Me.txbCurrent.TabIndex = 18
Me.txbCurrent.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("굴림", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.Label1.Location = New System.Drawing.Point(52, 119)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(94, 21)
Me.Label1.TabIndex = 17
Me.Label1.Text = "측정일자"
'
'txbDateTime
'
Me.txbDateTime.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.txbDateTime.Location = New System.Drawing.Point(194, 116)
Me.txbDateTime.Name = "txbDateTime"
Me.txbDateTime.Size = New System.Drawing.Size(262, 35)
Me.txbDateTime.TabIndex = 16
Me.txbDateTime.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("굴림", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.Label2.Location = New System.Drawing.Point(52, 45)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(105, 21)
Me.Label2.TabIndex = 21
Me.Label2.Text = "TD 시리얼"
'
'txbSN
'
Me.txbSN.Font = New System.Drawing.Font("함초롬바탕", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.txbSN.Location = New System.Drawing.Point(194, 42)
Me.txbSN.Name = "txbSN"
Me.txbSN.Size = New System.Drawing.Size(262, 35)
Me.txbSN.TabIndex = 20
Me.txbSN.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'Button1
'
Me.Button1.Font = New System.Drawing.Font("굴림", 24.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.Button1.Location = New System.Drawing.Point(56, 277)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(400, 94)
Me.Button1.TabIndex = 22
Me.Button1.Text = "입력"
Me.Button1.UseVisualStyleBackColor = True
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("굴림", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.Label3.Location = New System.Drawing.Point(191, 154)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(210, 16)
Me.Label3.TabIndex = 24
Me.Label3.Text = "(예시 : 2020-05-26 15:11:11)"
'
'frmDBInput
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(517, 392)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.txbSN)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.txbCurrent)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.txbDateTime)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "frmDBInput"
Me.Text = "DB INPUT"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Label6 As Label
Friend WithEvents txbCurrent As TextBox
Friend WithEvents Label1 As Label
Friend WithEvents txbDateTime As TextBox
Friend WithEvents Label2 As Label
Friend WithEvents txbSN As TextBox
Friend WithEvents Button1 As Button
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim cmd As String
cmd = "update jomtCartridgeTbl set QC_DateTime = '" + txbDateTime.Text + "',QC_Current = '" + txbCurrent.Text + "' where PV_SN = '" + txbSN.Text + "';"
DBCommand(cmd)
txbDateTime.Clear()
txbCurrent.Clear()
txbSN.Clear()
End Sub
Friend WithEvents Label3 As Label
End Class

2110
frmDBInput.resx Normal file

File diff suppressed because it is too large Load Diff

1
frmDBInput.vb Normal file
View File

@ -0,0 +1 @@


387
frmMySqlTest.Designer.vb generated Normal file
View File

@ -0,0 +1,387 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmMySqlTest
Inherits System.Windows.Forms.Form
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Windows Form 디자이너에 필요합니다.
Private components As System.ComponentModel.IContainer
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
'수정하려면 Windows Form 디자이너를 사용하십시오.
'코드 편집기에서는 수정하지 마세요.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMySqlTest))
Me.btnReadDB = New System.Windows.Forms.Button()
Me.txbPacking = New System.Windows.Forms.TextBox()
Me.lb_packing = New System.Windows.Forms.Label()
Me.gb_pack = New System.Windows.Forms.GroupBox()
Me.gb_state = New System.Windows.Forms.GroupBox()
Me.txb_invoice = New System.Windows.Forms.TextBox()
Me.lb_invoice = New System.Windows.Forms.Label()
Me.lb_state_code = New System.Windows.Forms.Label()
Me.txb_state_code = New System.Windows.Forms.TextBox()
Me.txb_state_date = New System.Windows.Forms.TextBox()
Me.lb_state_name = New System.Windows.Forms.Label()
Me.lb_state_date = New System.Windows.Forms.Label()
Me.txb_state_name = New System.Windows.Forms.TextBox()
Me.gb_pack_data = New System.Windows.Forms.GroupBox()
Me.lb_pack_code = New System.Windows.Forms.Label()
Me.txb_pack_code = New System.Windows.Forms.TextBox()
Me.lb_pack_date = New System.Windows.Forms.Label()
Me.txb_pack_date = New System.Windows.Forms.TextBox()
Me.gb_pack_item = New System.Windows.Forms.GroupBox()
Me.dgv_pack_item = New System.Windows.Forms.DataGridView()
Me.df_item_name = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.df_count = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.df_serial = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.btn_delete = New System.Windows.Forms.Button()
Me.ckb_barcode = New System.Windows.Forms.CheckBox()
Me.timer_barcode = New System.Windows.Forms.Timer(Me.components)
Me.ckb_state = New System.Windows.Forms.CheckBox()
Me.gb_pack.SuspendLayout()
Me.gb_state.SuspendLayout()
Me.gb_pack_data.SuspendLayout()
Me.gb_pack_item.SuspendLayout()
CType(Me.dgv_pack_item, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'btnReadDB
'
Me.btnReadDB.Font = New System.Drawing.Font("함초롬바탕", 21.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.btnReadDB.Location = New System.Drawing.Point(672, 28)
Me.btnReadDB.Name = "btnReadDB"
Me.btnReadDB.Size = New System.Drawing.Size(136, 53)
Me.btnReadDB.TabIndex = 0
Me.btnReadDB.Text = "읽기"
Me.btnReadDB.UseVisualStyleBackColor = True
'
'txbPacking
'
Me.txbPacking.Font = New System.Drawing.Font("함초롬바탕", 26.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.txbPacking.Location = New System.Drawing.Point(319, 28)
Me.txbPacking.Name = "txbPacking"
Me.txbPacking.Size = New System.Drawing.Size(347, 53)
Me.txbPacking.TabIndex = 1
Me.txbPacking.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'lb_packing
'
Me.lb_packing.AutoSize = True
Me.lb_packing.Font = New System.Drawing.Font("함초롬바탕", 21.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.lb_packing.Location = New System.Drawing.Point(43, 37)
Me.lb_packing.Name = "lb_packing"
Me.lb_packing.Size = New System.Drawing.Size(270, 38)
Me.lb_packing.TabIndex = 2
Me.lb_packing.Text = "Packing Code 검색"
'
'gb_pack
'
Me.gb_pack.Controls.Add(Me.gb_state)
Me.gb_pack.Controls.Add(Me.gb_pack_data)
Me.gb_pack.Controls.Add(Me.gb_pack_item)
Me.gb_pack.Font = New System.Drawing.Font("함초롬바탕", 20.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.gb_pack.Location = New System.Drawing.Point(12, 94)
Me.gb_pack.Name = "gb_pack"
Me.gb_pack.Size = New System.Drawing.Size(1180, 536)
Me.gb_pack.TabIndex = 3
Me.gb_pack.TabStop = False
Me.gb_pack.Text = "패킹 데이터"
'
'gb_state
'
Me.gb_state.Controls.Add(Me.txb_invoice)
Me.gb_state.Controls.Add(Me.lb_invoice)
Me.gb_state.Controls.Add(Me.lb_state_code)
Me.gb_state.Controls.Add(Me.txb_state_code)
Me.gb_state.Controls.Add(Me.txb_state_date)
Me.gb_state.Controls.Add(Me.lb_state_name)
Me.gb_state.Controls.Add(Me.lb_state_date)
Me.gb_state.Controls.Add(Me.txb_state_name)
Me.gb_state.Location = New System.Drawing.Point(15, 214)
Me.gb_state.Name = "gb_state"
Me.gb_state.Size = New System.Drawing.Size(514, 294)
Me.gb_state.TabIndex = 12
Me.gb_state.TabStop = False
Me.gb_state.Text = "전표데이터"
'
'txb_invoice
'
Me.txb_invoice.BackColor = System.Drawing.SystemColors.Window
Me.txb_invoice.Location = New System.Drawing.Point(131, 223)
Me.txb_invoice.Name = "txb_invoice"
Me.txb_invoice.ReadOnly = True
Me.txb_invoice.Size = New System.Drawing.Size(371, 43)
Me.txb_invoice.TabIndex = 12
Me.txb_invoice.Text = "321321321321"
Me.txb_invoice.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'lb_invoice
'
Me.lb_invoice.AutoSize = True
Me.lb_invoice.Location = New System.Drawing.Point(6, 226)
Me.lb_invoice.Name = "lb_invoice"
Me.lb_invoice.Size = New System.Drawing.Size(119, 35)
Me.lb_invoice.TabIndex = 11
Me.lb_invoice.Text = "송장번호"
'
'lb_state_code
'
Me.lb_state_code.AutoSize = True
Me.lb_state_code.Location = New System.Drawing.Point(6, 50)
Me.lb_state_code.Name = "lb_state_code"
Me.lb_state_code.Size = New System.Drawing.Size(119, 35)
Me.lb_state_code.TabIndex = 4
Me.lb_state_code.Text = "전표코드"
'
'txb_state_code
'
Me.txb_state_code.BackColor = System.Drawing.SystemColors.Window
Me.txb_state_code.Location = New System.Drawing.Point(131, 47)
Me.txb_state_code.Name = "txb_state_code"
Me.txb_state_code.ReadOnly = True
Me.txb_state_code.Size = New System.Drawing.Size(371, 43)
Me.txb_state_code.TabIndex = 5
Me.txb_state_code.Text = "E040221/20220302/1"
Me.txb_state_code.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'txb_state_date
'
Me.txb_state_date.BackColor = System.Drawing.SystemColors.Window
Me.txb_state_date.Location = New System.Drawing.Point(131, 164)
Me.txb_state_date.Name = "txb_state_date"
Me.txb_state_date.ReadOnly = True
Me.txb_state_date.Size = New System.Drawing.Size(371, 43)
Me.txb_state_date.TabIndex = 10
Me.txb_state_date.Text = "2022-12-31"
Me.txb_state_date.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'lb_state_name
'
Me.lb_state_name.AutoSize = True
Me.lb_state_name.Location = New System.Drawing.Point(6, 107)
Me.lb_state_name.Name = "lb_state_name"
Me.lb_state_name.Size = New System.Drawing.Size(119, 35)
Me.lb_state_name.TabIndex = 7
Me.lb_state_name.Text = "주문자명"
'
'lb_state_date
'
Me.lb_state_date.AutoSize = True
Me.lb_state_date.Location = New System.Drawing.Point(6, 167)
Me.lb_state_date.Name = "lb_state_date"
Me.lb_state_date.Size = New System.Drawing.Size(119, 35)
Me.lb_state_date.TabIndex = 9
Me.lb_state_date.Text = "등록일자"
'
'txb_state_name
'
Me.txb_state_name.BackColor = System.Drawing.SystemColors.Window
Me.txb_state_name.Location = New System.Drawing.Point(131, 104)
Me.txb_state_name.Name = "txb_state_name"
Me.txb_state_name.ReadOnly = True
Me.txb_state_name.Size = New System.Drawing.Size(371, 43)
Me.txb_state_name.TabIndex = 8
Me.txb_state_name.Text = "박석태"
Me.txb_state_name.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'gb_pack_data
'
Me.gb_pack_data.Controls.Add(Me.lb_pack_code)
Me.gb_pack_data.Controls.Add(Me.txb_pack_code)
Me.gb_pack_data.Controls.Add(Me.lb_pack_date)
Me.gb_pack_data.Controls.Add(Me.txb_pack_date)
Me.gb_pack_data.Location = New System.Drawing.Point(15, 42)
Me.gb_pack_data.Name = "gb_pack_data"
Me.gb_pack_data.Size = New System.Drawing.Size(514, 166)
Me.gb_pack_data.TabIndex = 11
Me.gb_pack_data.TabStop = False
Me.gb_pack_data.Text = "패킹데이터"
'
'lb_pack_code
'
Me.lb_pack_code.AutoSize = True
Me.lb_pack_code.Location = New System.Drawing.Point(6, 49)
Me.lb_pack_code.Name = "lb_pack_code"
Me.lb_pack_code.Size = New System.Drawing.Size(119, 35)
Me.lb_pack_code.TabIndex = 0
Me.lb_pack_code.Text = "패킹코드"
'
'txb_pack_code
'
Me.txb_pack_code.BackColor = System.Drawing.SystemColors.Window
Me.txb_pack_code.Location = New System.Drawing.Point(131, 46)
Me.txb_pack_code.Name = "txb_pack_code"
Me.txb_pack_code.ReadOnly = True
Me.txb_pack_code.Size = New System.Drawing.Size(371, 43)
Me.txb_pack_code.TabIndex = 1
Me.txb_pack_code.Text = "102220333555"
Me.txb_pack_code.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'lb_pack_date
'
Me.lb_pack_date.AutoSize = True
Me.lb_pack_date.Location = New System.Drawing.Point(6, 107)
Me.lb_pack_date.Name = "lb_pack_date"
Me.lb_pack_date.Size = New System.Drawing.Size(119, 35)
Me.lb_pack_date.TabIndex = 2
Me.lb_pack_date.Text = "포장일자"
'
'txb_pack_date
'
Me.txb_pack_date.BackColor = System.Drawing.SystemColors.Window
Me.txb_pack_date.Location = New System.Drawing.Point(131, 104)
Me.txb_pack_date.Name = "txb_pack_date"
Me.txb_pack_date.ReadOnly = True
Me.txb_pack_date.Size = New System.Drawing.Size(371, 43)
Me.txb_pack_date.TabIndex = 3
Me.txb_pack_date.Text = "2022-12-31"
Me.txb_pack_date.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'gb_pack_item
'
Me.gb_pack_item.Controls.Add(Me.dgv_pack_item)
Me.gb_pack_item.Font = New System.Drawing.Font("함초롬바탕", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.gb_pack_item.Location = New System.Drawing.Point(545, 42)
Me.gb_pack_item.Name = "gb_pack_item"
Me.gb_pack_item.Size = New System.Drawing.Size(623, 466)
Me.gb_pack_item.TabIndex = 6
Me.gb_pack_item.TabStop = False
Me.gb_pack_item.Text = "패킹물품"
'
'dgv_pack_item
'
Me.dgv_pack_item.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dgv_pack_item.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.df_item_name, Me.df_count, Me.df_serial})
Me.dgv_pack_item.Location = New System.Drawing.Point(14, 43)
Me.dgv_pack_item.Name = "dgv_pack_item"
Me.dgv_pack_item.ReadOnly = True
Me.dgv_pack_item.RowTemplate.Height = 23
Me.dgv_pack_item.Size = New System.Drawing.Size(593, 395)
Me.dgv_pack_item.TabIndex = 0
'
'df_item_name
'
Me.df_item_name.HeaderText = "물품명"
Me.df_item_name.Name = "df_item_name"
Me.df_item_name.ReadOnly = True
Me.df_item_name.Width = 300
'
'df_count
'
Me.df_count.HeaderText = "개수"
Me.df_count.Name = "df_count"
Me.df_count.ReadOnly = True
'
'df_serial
'
Me.df_serial.HeaderText = "시리얼번호"
Me.df_serial.Name = "df_serial"
Me.df_serial.ReadOnly = True
Me.df_serial.Width = 150
'
'btn_delete
'
Me.btn_delete.Font = New System.Drawing.Font("함초롬바탕", 21.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.btn_delete.Location = New System.Drawing.Point(814, 28)
Me.btn_delete.Name = "btn_delete"
Me.btn_delete.Size = New System.Drawing.Size(136, 53)
Me.btn_delete.TabIndex = 4
Me.btn_delete.Text = "삭제"
Me.btn_delete.UseVisualStyleBackColor = True
'
'ckb_barcode
'
Me.ckb_barcode.AutoSize = True
Me.ckb_barcode.Checked = True
Me.ckb_barcode.CheckState = System.Windows.Forms.CheckState.Checked
Me.ckb_barcode.Font = New System.Drawing.Font("함초롬바탕", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.ckb_barcode.Location = New System.Drawing.Point(956, 20)
Me.ckb_barcode.Name = "ckb_barcode"
Me.ckb_barcode.Size = New System.Drawing.Size(156, 36)
Me.ckb_barcode.TabIndex = 5
Me.ckb_barcode.Text = "바코드 사용"
Me.ckb_barcode.UseVisualStyleBackColor = True
'
'timer_barcode
'
Me.timer_barcode.Interval = 10
'
'ckb_state
'
Me.ckb_state.AutoSize = True
Me.ckb_state.Font = New System.Drawing.Font("함초롬바탕", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.ckb_state.Location = New System.Drawing.Point(956, 56)
Me.ckb_state.Name = "ckb_state"
Me.ckb_state.Size = New System.Drawing.Size(225, 36)
Me.ckb_state.TabIndex = 6
Me.ckb_state.Text = "전표데이터만 삭제"
Me.ckb_state.UseVisualStyleBackColor = True
'
'frmMySqlTest
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1203, 649)
Me.Controls.Add(Me.ckb_state)
Me.Controls.Add(Me.ckb_barcode)
Me.Controls.Add(Me.btn_delete)
Me.Controls.Add(Me.gb_pack)
Me.Controls.Add(Me.lb_packing)
Me.Controls.Add(Me.txbPacking)
Me.Controls.Add(Me.btnReadDB)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "frmMySqlTest"
Me.Text = "패킹 및 전표 Database Delete Program"
Me.gb_pack.ResumeLayout(False)
Me.gb_state.ResumeLayout(False)
Me.gb_state.PerformLayout()
Me.gb_pack_data.ResumeLayout(False)
Me.gb_pack_data.PerformLayout()
Me.gb_pack_item.ResumeLayout(False)
CType(Me.dgv_pack_item, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents btnReadDB As Button
Friend WithEvents txbPacking As TextBox
Friend WithEvents lb_packing As Label
Friend WithEvents gb_pack As GroupBox
Friend WithEvents txb_pack_code As TextBox
Friend WithEvents lb_pack_code As Label
Friend WithEvents txb_pack_date As TextBox
Friend WithEvents lb_pack_date As Label
Friend WithEvents txb_state_date As TextBox
Friend WithEvents lb_state_date As Label
Friend WithEvents txb_state_name As TextBox
Friend WithEvents lb_state_name As Label
Friend WithEvents gb_pack_item As GroupBox
Friend WithEvents txb_state_code As TextBox
Friend WithEvents lb_state_code As Label
Friend WithEvents dgv_pack_item As DataGridView
Friend WithEvents gb_pack_data As GroupBox
Friend WithEvents df_item_name As DataGridViewTextBoxColumn
Friend WithEvents df_count As DataGridViewTextBoxColumn
Friend WithEvents df_serial As DataGridViewTextBoxColumn
Friend WithEvents gb_state As GroupBox
Friend WithEvents btn_delete As Button
Friend WithEvents ckb_barcode As CheckBox
Friend WithEvents timer_barcode As Timer
Friend WithEvents txb_invoice As TextBox
Friend WithEvents lb_invoice As Label
Friend WithEvents ckb_state As CheckBox
End Class

2122
frmMySqlTest.resx Normal file

File diff suppressed because it is too large Load Diff

642
frmMySqlTest.vb Normal file
View File

@ -0,0 +1,642 @@
'Imports System.Data.OleDb
'Imports System.Reflection
Imports System.ComponentModel
Imports Excel = Microsoft.Office.Interop.Excel
''Imports Microsoft.Office.Interop
Public Class frmMySqlTest
Private Enum data_set
packcode
pack_date
set_serial
bag_type
etc_name
pro_fa_serial
pro_ey_serial
pro_bo_serial
lux_fa_serial
lux_ey_serial
lux_bo_serial
MAXIMUM_serial
Alpha_Serial
Alpha_fa_Serial
Alpha_ey_Serial
Alpha_bo_Serial
Alto_Serial
Effect_Serial
ordercode
order_name
phone
ship_date
invoice
max
End Enum
Private data_select(data_set.max) As String
Private Enum data_count
set_cnt
mask5_cnt
mask10_cnt
hair_cnt
gel_cnt
minigel_cnt
amp_cnt
cre_cnt
umb_cnt
fen_cnt
char_cnt
cab_cnt
toner_cnt
case_cnt
dustbag_cnt
bag_cnt
etc_cnt
pro_fa_cnt
pro_ey_cnt
pro_bo_cnt
lux_fa_cnt
lux_ey_cnt
lux_bo_cnt
MAXIMUM_cnt
Alpha_cnt
Alpha_fa_cnt
Alpha_ey_cnt
Alpha_bo_cnt
Alto_cnt
Effect_cnt
max
End Enum
Private data_cnt(data_count.max) As String
Private cmd As String
Private dbcmd As String
Private order_table As String = "jomtOrderDB.jomtOrderTbl"
Private sales_table As String = "jomtTesterDB.jomtSalesPackingTbl"
Private order_test As String = "jomtOrderTestDB.jomtTesterOrderTbl"
Private sales_test As String = "jomtTesterServerDB.jomtSalesPackingTbl"
Private order_db As String = order_table
Private sales_db As String = sales_table
Private clear_switch As Boolean = False
Public InputCnt As Long
Public InputCntVal As Integer = 10
Private Sub SetInputCnt()
InputCnt = InputCntVal
timer_barcode.Enabled = True
End Sub
Private Sub timer_barcode_Tick(sender As Object, e As EventArgs) Handles timer_barcode.Tick
If InputCnt Then
InputCnt -= 1
Else
timer_barcode.Enabled = False
If ckb_barcode.Checked Then
btnReadDB_Click(sender, e)
Else
txbPacking.Focus()
txbPacking.Refresh()
End If
End If
End Sub
Private Sub txb_clear()
If clear_switch = False Then
txbPacking.Clear()
End If
clear_switch = False
txb_pack_code.Clear()
txb_pack_date.Clear()
txb_state_code.Clear()
txb_state_date.Clear()
txb_state_name.Clear()
txb_invoice.Clear()
txbPacking.Refresh()
txb_pack_code.Refresh()
txb_pack_date.Refresh()
txb_state_code.Refresh()
txb_state_date.Refresh()
txb_state_name.Refresh()
txb_invoice.Refresh()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
txb_clear()
' DataGridView를 선택하면 전체 한줄이 선택되게 됩니다.
dgv_pack_item.SelectionMode = DataGridViewSelectionMode.FullRowSelect
txbPacking.Focus()
End Sub
'Private Sub size_est()
' Dim width, height As Integer
' Me.Hide()
' Me.WindowState = FormWindowState.Maximized
' width = Val(Me.Width)
' height = Val(Me.Height)
' Me.MaximumSize = New Size(width, height)
' Me.Width = width
' Me.Height = height
' Me.Show()
' Me.Refresh()
'End Sub
Private Sub btnReadDB_Click(sender As Object, e As EventArgs) Handles btnReadDB.Click
If txbPacking.Text = "" Then
If ckb_state.Checked = True Then
MsgBox("전표코드를 입력하여 주십시오.", vbExclamation)
Else
MsgBox("패킹코드를 입력하여 주십시오.", vbExclamation)
End If
Else
dgv_pack_item.Rows.Clear()
If db_select(txbPacking.Text) Then
If item_out() Then
txb_pack_code.Text = data_select(data_set.packcode)
txb_pack_date.Text = data_select(data_set.pack_date)
txb_state_code.Text = data_select(data_set.ordercode)
txb_state_date.Text = data_select(data_set.ship_date)
txb_state_name.Text = data_select(data_set.order_name)
txb_invoice.Text = data_select(data_set.invoice)
End If
Else
txbPacking.BackColor = Color.Red
MsgBox("등록되지 않은 데이터 입니다. 패킹 코드를 확인하여 주십시오.", vbCritical)
End If
End If
txbPacking.Focus()
End Sub
Private Function db_select(serial As String) As Boolean
dbcmd = "SELECT IFNULL(sale.PackingCode,'NULL'),IFNULL(sale.`Data`,'NULL'), IFNULL(sale.Main_Product_SN,'NULL'),IFNULL(sale.Set_Cnt,'0'),IFNULL(sale.Mask5Cnt,'0'),IFNULL(sale.Mask10Cnt,'0'),IFNULL(sale.HairBandCnt,'0'),IFNULL(sale.GelCnt,'0') ,IFNULL(sale.MiniGelCnt,'0'),IFNULL(sale.AmpleCnt,'0'),IFNULL(sale.CreamCnt,'0'),IFNULL(sale.UmbrellaCnt,'0'),IFNULL(sale.FenCnt,'0'),IFNULL(sale.ChargerCnt,'0'),IFNULL(sale.CableCnt,'0'),IFNULL(sale.TonerCnt,'0'), IFNULL(sale.CaseCnt,'0') , IFNULL(sale.DustBagCnt,'0'), IFNULL(sale.BagCnt,'0'), IFNULL(sale.BagType,'0'),IFNULL(sale.EtcCnt,'0'),IFNULL(sale.etcName,'NULL'),IFNULL(sale.Pro_Face_Serial,'NULL'),IFNULL(sale.Pro_CT_FaceCnt,'0'),IFNULL(sale.Pro_Eye_Serial,'NULL'),IFNULL(sale.Pro_CT_EYE_Cnt,'0'),IFNULL(sale.Pro_Body_Serial,'NULL'),IFNULL(sale.Pro_CT_BodyCnt,'0'),IFNULL(sale.Lux_Face_Serial,'NULL'),IFNULL(sale.Lux_CT_FaceCnt,'0'),IFNULL(sale.Lux_Eye_Serial,'NULL'),IFNULL(sale.Lux_CT_EYE_Cnt,'0'),IFNULL(sale.Lux_Body_Serial,'NULL'),IFNULL(sale.Lux_CT_BodyCnt,'0'),IFNULL(sale.MAXIMUM_SN,'NULL'),IFNULL(sale.MAXIMUM_Cnt,'0'), IFNULL(sale.Alpha_Set_Serial,'NULL'),IFNULL(sale.Alpha_Set_cnt,'0'),IFNULL(sale.Alpha_Face_Serial,'NULL'),IFNULL(sale.Alpha_Face_cnt,'0'),IFNULL(sale.Alpha_Eye_Serial,'NULL'),IFNULL(sale.Alpha_Eye_cnt,'0'),IFNULL(sale.Alpha_Body_Serial,'NULL'),IFNULL(sale.Alpha_Body_cnt,'0'),IFNULL(sale.Alto_Serial,'NULL'),IFNULL(sale.Alto_cnt,'0'),IFNULL(sale.Effect_Serial,'NULL'),IFNULL(sale.Effect_cnt,'0'),ifnull(otb.Order_Code,'NULL'),ifnull(otb.Orderer_Name,'NULL'),ifnull(otb.Phone_Number,'NULL'),ifnull(otb.Shipment_Date,'NULL'),IFNULL(otb.Invoice_Number,'NULL') FROM " & sales_db & " AS sale LEFT JOIN " & order_db & " AS otb ON sale.PackingCode = otb.Packing_Code WHERE sale.PackingCode = '" & serial & "' GROUP BY sale.PackingCode"
If DBQueryReader(dbcmd) Then
data_select(data_set.packcode) = sqlDataQuery(0)
data_select(data_set.pack_date) = sqlDataQuery(1)
data_select(data_set.set_serial) = sqlDataQuery(2)
data_cnt(data_count.set_cnt) = sqlDataQuery(3)
data_cnt(data_count.mask5_cnt) = sqlDataQuery(4)
data_cnt(data_count.mask10_cnt) = sqlDataQuery(5)
data_cnt(data_count.hair_cnt) = sqlDataQuery(6)
data_cnt(data_count.gel_cnt) = sqlDataQuery(7)
data_cnt(data_count.minigel_cnt) = sqlDataQuery(8)
data_cnt(data_count.amp_cnt) = sqlDataQuery(9)
data_cnt(data_count.cre_cnt) = sqlDataQuery(10)
data_cnt(data_count.umb_cnt) = sqlDataQuery(11)
data_cnt(data_count.fen_cnt) = sqlDataQuery(12)
data_cnt(data_count.char_cnt) = sqlDataQuery(13)
data_cnt(data_count.cab_cnt) = sqlDataQuery(14)
data_cnt(data_count.toner_cnt) = sqlDataQuery(15)
data_cnt(data_count.case_cnt) = sqlDataQuery(16)
data_cnt(data_count.dustbag_cnt) = sqlDataQuery(17)
data_cnt(data_count.bag_cnt) = sqlDataQuery(18)
data_select(data_set.bag_type) = sqlDataQuery(19)
data_cnt(data_count.etc_cnt) = sqlDataQuery(20)
data_select(data_set.etc_name) = sqlDataQuery(21)
data_select(data_set.pro_fa_serial) = sqlDataQuery(22)
data_cnt(data_count.pro_fa_cnt) = sqlDataQuery(23)
data_select(data_set.pro_ey_serial) = sqlDataQuery(24)
data_cnt(data_count.pro_ey_cnt) = sqlDataQuery(25)
data_select(data_set.pro_bo_serial) = sqlDataQuery(26)
data_cnt(data_count.pro_bo_cnt) = sqlDataQuery(27)
data_select(data_set.lux_fa_serial) = sqlDataQuery(28)
data_cnt(data_count.lux_fa_cnt) = sqlDataQuery(29)
data_select(data_set.lux_ey_serial) = sqlDataQuery(30)
data_cnt(data_count.lux_ey_cnt) = sqlDataQuery(31)
data_select(data_set.lux_bo_serial) = sqlDataQuery(32)
data_cnt(data_count.lux_bo_cnt) = sqlDataQuery(33)
data_select(data_set.MAXIMUM_serial) = sqlDataQuery(34)
data_cnt(data_count.MAXIMUM_cnt) = sqlDataQuery(35)
data_select(data_set.Alpha_Serial) = sqlDataQuery(36)
data_cnt(data_count.Alpha_cnt) = sqlDataQuery(37)
data_select(data_set.Alpha_fa_Serial) = sqlDataQuery(38)
data_cnt(data_count.Alpha_fa_cnt) = sqlDataQuery(39)
data_select(data_set.Alpha_ey_Serial) = sqlDataQuery(40)
data_cnt(data_count.Alpha_ey_cnt) = sqlDataQuery(41)
data_select(data_set.Alpha_bo_Serial) = sqlDataQuery(42)
data_cnt(data_count.Alpha_bo_cnt) = sqlDataQuery(43)
data_select(data_set.Alto_Serial) = sqlDataQuery(44)
data_cnt(data_count.Alto_cnt) = sqlDataQuery(45)
data_cnt(data_count.Effect_cnt) = sqlDataQuery(46)
data_select(data_set.Effect_Serial) = sqlDataQuery(47)
data_select(data_set.ordercode) = sqlDataQuery(48)
data_select(data_set.order_name) = sqlDataQuery(49)
data_select(data_set.phone) = sqlDataQuery(50)
data_select(data_set.ship_date) = sqlDataQuery(51)
data_select(data_set.invoice) = sqlDataQuery(52)
Return True
Else
data_select(data_set.packcode) = "NULL"
data_select(data_set.pack_date) = "NULL"
data_select(data_set.set_serial) = "NULL"
data_cnt(data_count.set_cnt) = "0"
data_cnt(data_count.mask5_cnt) = "0"
data_cnt(data_count.mask10_cnt) = "0"
data_cnt(data_count.hair_cnt) = "0"
data_cnt(data_count.gel_cnt) = "0"
data_cnt(data_count.minigel_cnt) = "0"
data_cnt(data_count.amp_cnt) = "0"
data_cnt(data_count.cre_cnt) = "0"
data_cnt(data_count.umb_cnt) = "0"
data_cnt(data_count.fen_cnt) = "0"
data_cnt(data_count.char_cnt) = "0"
data_cnt(data_count.cab_cnt) = "0"
data_cnt(data_count.toner_cnt) = "0"
data_cnt(data_count.case_cnt) = "0"
data_cnt(data_count.dustbag_cnt) = "0"
data_cnt(data_count.bag_cnt) = "0"
data_select(data_set.bag_type) = "NULL"
data_cnt(data_count.etc_cnt) = "0"
data_select(data_set.etc_name) = "NULL"
data_select(data_set.pro_fa_serial) = "NULL"
data_cnt(data_count.pro_fa_cnt) = "0"
data_select(data_set.pro_ey_serial) = "NULL"
data_cnt(data_count.pro_ey_cnt) = "0"
data_select(data_set.pro_bo_serial) = "NULL"
data_cnt(data_count.pro_bo_cnt) = "0"
data_select(data_set.lux_fa_serial) = "NULL"
data_cnt(data_count.lux_fa_cnt) = "0"
data_select(data_set.lux_ey_serial) = "NULL"
data_cnt(data_count.lux_ey_cnt) = "0"
data_select(data_set.lux_bo_serial) = "NULL"
data_cnt(data_count.lux_bo_cnt) = "0"
data_select(data_set.MAXIMUM_serial) = "NULL"
data_cnt(data_count.MAXIMUM_cnt) = "0"
data_select(data_set.Alpha_Serial) = "NULL"
data_cnt(data_count.Alpha_cnt) = "0"
data_select(data_set.Alpha_fa_Serial) = "NULL"
data_cnt(data_count.Alpha_fa_cnt) = "0"
data_select(data_set.Alpha_ey_Serial) = "NULL"
data_cnt(data_count.Alpha_ey_cnt) = "0"
data_select(data_set.Alpha_bo_Serial) = "NULL"
data_cnt(data_count.Alpha_bo_cnt) = "0"
data_select(data_set.Alto_Serial) = "NULL"
data_cnt(data_count.Alto_cnt) = "0"
data_select(data_set.Effect_Serial) = "NULL"
data_cnt(data_count.Effect_cnt) = "0"
data_select(data_set.ordercode) = "NULL"
data_select(data_set.order_name) = "NULL"
data_select(data_set.phone) = "NULL"
data_select(data_set.ship_date) = "NULL"
data_select(data_set.invoice) = "NULL"
Return False
End If
End Function
Private Function item_out() As Boolean
Dim item_name, item_serial As String
Dim dgv_switch As Boolean
Try
For i = 0 To data_count.max
dgv_switch = False
item_name = Nothing
item_serial = Nothing
If data_cnt(data_count.max - i) > 0 Then
Select Case data_count.max - i
Case 0
If Mid(data_select(data_set.max), 1, 2) = "10" Then
item_name = "DUALSONIC Pro 1Set (KR)"
item_serial = data_select(data_set.max)
dgv_switch = True
Else
item_name = "DUALSONIC Lux 1Set (KR)"
item_serial = data_select(data_set.max)
dgv_switch = True
End If
Case 1
item_name = "DUALSONIC Elixir MASK 5EA"
dgv_switch = True
Case 2
item_name = "DUALSONIC Elixir MASK 10EA"
dgv_switch = True
Case 3
item_name = "[사은품] 벨크로헤어밴드"
dgv_switch = True
Case 4
item_name = "DUALSONIC Blooming Moisture Gel"
dgv_switch = True
Case 5
item_name = "DUALSONIC Blooming Moisture Gel(30ml * 5EA)"
dgv_switch = True
Case 6
item_name = "DUALSONIC Skin Cell Elixir Ampoule"
dgv_switch = True
Case 7
item_name = "DUALSONIC Skin Cell Elixir Cream"
dgv_switch = True
Case 8
item_name = "[사은품] 우산"
dgv_switch = True
Case 9
item_name = "[사은품] 손풍기"
dgv_switch = True
Case 10
item_name = "충전기 Assy"
dgv_switch = True
Case 11
item_name = "마이크로 충전 케이블"
dgv_switch = True
Case 12
item_name = "DUALSONIC Skin Elixir Toner"
dgv_switch = True
Case 13
item_name = "DUALSONIC 가죽 케이스 세트"
dgv_switch = True
Case 14
item_name = "DUALSONIC DUST BAG 1BOX"
dgv_switch = True
Case 15
item_name = data_select(data_set.bag_type)
dgv_switch = True
Case 16
item_name = data_select(data_set.etc_name)
dgv_switch = True
Case 17
item_name = "DUALSONIC Pro FACE CARTRIDGE"
item_serial = data_select(data_set.pro_fa_serial)
dgv_switch = True
Case 18
item_name = "DUALSONIC Pro Eye CARTRIDGE"
item_serial = data_select(data_set.pro_ey_serial)
dgv_switch = True
Case 19
item_name = "DUALSONIC Pro Body Cartridge 1Set Rev.0 (KR)"
item_serial = data_select(data_set.pro_bo_serial)
dgv_switch = True
Case 20
item_name = "DUALSONIC Lux FACE CARTRIDGE"
item_serial = data_select(data_set.lux_fa_serial)
dgv_switch = True
Case 21
item_name = "DUALSONIC Lux Eye CARTRIDGE"
item_serial = data_select(data_set.lux_ey_serial)
dgv_switch = True
Case 22
item_name = "DUALSONIC Lux Body Cartridge 1Set Rev.0 (KR)"
item_serial = data_select(data_set.lux_bo_serial)
dgv_switch = True
Case 23
item_name = "MAXIMUM FULL PACK (KR)"
item_serial = data_select(data_set.MAXIMUM_serial)
dgv_switch = True
Case 24
item_name = "Alpha Set (KR)"
item_serial = data_select(data_set.Alpha_Serial)
dgv_switch = True
Case 25
item_name = "Alpha FACE CARTRIDGE"
item_serial = data_select(data_set.Alpha_fa_Serial)
dgv_switch = True
Case 26
item_name = "Alpha Eye CARTRIDGE"
item_serial = data_select(data_set.Alpha_ey_Serial)
dgv_switch = True
Case 27
item_name = "Alpha Body CARTRIDGE"
item_serial = data_select(data_set.Alpha_bo_Serial)
dgv_switch = True
Case 28
item_name = "Alto PACK (KR)"
item_serial = data_select(data_set.Alto_Serial)
dgv_switch = True
Case 29
item_name = "Effect PACK (KR)"
item_serial = data_select(data_set.Effect_Serial)
dgv_switch = True
End Select
End If
If dgv_switch = True Then
dgv_pack_item.Rows.Add(item_name, data_cnt(data_count.max - i), item_serial)
End If
Next
Return True
Catch ex As Exception
MsgBox(Err.Description, vbCritical)
Return False
End Try
End Function
Private Sub txbPacking_Click(sender As Object, e As EventArgs) Handles txbPacking.Click
txbPacking.Text = ""
txbPacking.BackColor = Color.White
End Sub
' Private Sub txbPacking_KeyDown(ByVal sender As Object, e As KeyEventArgs) Handles txbPacking.KeyDown
'If e.KeyCode = Keys.KeyCode.Return Then
' btnReadDB_Click(sender, e)
' End If
' End Sub
Private Sub txbPacking_KeyDown(ByVal sender As Object, e As KeyEventArgs) Handles txbPacking.KeyDown
If e.KeyCode = Keys.Return Then
btnReadDB_Click(sender, EventArgs.Empty)
End If
End Sub
Private Sub btn_delete_Click(sender As Object, e As EventArgs) Handles btn_delete.Click
Dim msg_cnt As Int16
Dim serial_data As String
If dgv_pack_item.Rows.Count <> 1 Then
If ckb_state.Checked = True Then
msg_cnt = MsgBox("해당 패킹 번호의 전표 데이터만 삭제하시겠습니까?", vbExclamation + vbOKCancel)
If msg_cnt = 1 Then
serial_data = delete_sales()
If txb_state_code.Text <> "NULL" Then
If state_delete(serial_data) Then
txbPacking.BackColor = Color.Green
clear_switch = True
txb_clear()
dgv_pack_item.Rows.Clear()
MsgBox("데이터 삭제가 완료되었습니다.", vbInformation)
Else
txbPacking.BackColor = Color.Red
MsgBox("데이터베이스 안에 전표 데이터가 존재하지 않습니다. 데이터를 확인하여 주십시오.", vbCritical)
End If
Else
txbPacking.BackColor = Color.Red
MsgBox("데이터베이스 안에 전표 데이터가 존재하지 않습니다. 데이터를 확인하여 주십시오.", vbCritical)
End If
Else
MsgBox("삭제가 취소되었습니다.", vbInformation)
End If
Else
msg_cnt = MsgBox("해당 패킹 및 전표 데이터를 삭제하시겠습니까?", vbExclamation + vbOKCancel)
If msg_cnt = 1 Then
serial_data = delete_sales()
If txb_pack_code.Text <> "NULL" Then
If pack_delete(serial_data) Then
If txb_state_code.Text <> "NULL" Then
If state_delete(serial_data) Then
txbPacking.BackColor = Color.Green
clear_switch = True
txb_clear()
dgv_pack_item.Rows.Clear()
MsgBox("데이터 삭제가 완료되었습니다.", vbInformation)
Else
txbPacking.BackColor = Color.Red
MsgBox("데이터베이스 안에 전표 데이터가 존재하지 않습니다. 데이터를 확인하여 주십시오.", vbCritical)
End If
Else
txbPacking.BackColor = Color.Green
clear_switch = True
txb_clear()
dgv_pack_item.Rows.Clear()
MsgBox("데이터 삭제가 완료되었습니다.", vbInformation)
End If
Else
txbPacking.BackColor = Color.Red
MsgBox("데이터베이스 안에 패킹 데이터가 존재하지 않습니다. 데이터를 확인하여 주십시오.", vbCritical)
End If
End If
Else
MsgBox("삭제가 취소되었습니다.", vbInformation)
End If
End If
Else
txbPacking.BackColor = Color.Red
MsgBox("삭제할 데이터가 존재하지 않습니다.", vbExclamation)
End If
txbPacking.Focus()
End Sub
Private Function state_delete(serial As String) As Boolean
If txb_invoice.Text <> "NULL" Then
serial = txb_invoice.Text & "," & serial
End If
dbcmd = "UPDATE " & order_db & " SET Invoice_Number = NULL, Packing_Code = NULL, Serial_Number = NULL, Buy_Type = NULL, release_state = NULL, note = '" & serial & "' WHERE Order_Code = '" & txb_state_code.Text & "'"
If DBCommand(dbcmd) Then
Return True
End If
Return False
End Function
Private Function pack_delete(serial As String) As Boolean
dbcmd = "UPDATE " & sales_db & " SET PackingCode = 'null_" & txb_pack_code.Text & "', Main_Product_SN = NULL, Main_FACE_SN = NULL, Main_EYE_SN = NULL, Pro_Face_Serial = NULL, Pro_Eye_Serial = NULL, Pro_Body_Serial = NULL, Lux_Face_Serial = NULL, Lux_Eye_Serial = NULL, Lux_Body_Serial = NULL , MAXIMUM_SN = NULL , Alpha_Set_Serial = NULL , Alpha_Face_Serial = NULL , Alpha_Eye_Serial = NULL , Alpha_Body_Serial = NULL , Alto_Serial = NULL , Effect_Serial = NULL , note = '" & serial & "' WHERE PackingCode = '" & txb_pack_code.Text & "'"
If DBCommand(dbcmd) Then
Return True
End If
Return False
End Function
Private Function delete_sales() As String
Dim serial_data As String = ""
For i = 0 To dgv_pack_item.Rows.Count - 2
If dgv_pack_item.Rows(i).Cells(2).Value IsNot Nothing AndAlso dgv_pack_item.Rows(i).Cells(2).Value.ToString() <> "" Then
If serial_data = "" Then
serial_data = dgv_pack_item.Rows(i).Cells(2).Value
Else
serial_data = serial_data & "," & dgv_pack_item.Rows(i).Cells(2).Value
End If
End If
Next
Return serial_data
End Function
Private Sub txbPacking_TextChanged(sender As Object, e As EventArgs) Handles txbPacking.TextChanged
Dim tmpStr As String
If InputCnt = 0 And ckb_barcode.Checked = True Then
tmpStr = txbPacking.Text
If (Len(tmpStr) > 1) Then
tmpStr = Mid(tmpStr, Len(tmpStr), 1)
txbPacking.Clear()
txbPacking.AppendText(tmpStr)
End If
SetInputCnt()
End If
End Sub
Private Sub txb_pack_code_Click(sender As Object, e As EventArgs) Handles txb_pack_code.Click, txb_invoice.Click, txb_pack_date.Click, txb_state_code.Click, txb_state_date.Click, txb_state_name.Click, dgv_pack_item.Click, ckb_state.CheckedChanged, ckb_barcode.CheckedChanged
txbPacking.Focus()
End Sub
End Class