c#\SQL读取TeamViewer ID连接BarTender打印
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Threading;
using System.IO;
using Microsoft.Win32;
namespace Print_Barcode
{
public partial class Form1 : Form
{
public static string[] KeyValue = { "NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL"};
public static string[] Smple = { "SERVER", "DATABASE", "UID", "PWD", "StoredProcedure", "ReadLPTFile", "CallBath","State"};
public static string TeamViewerID = string.Empty;//存储TeamViewerID
public static string NowDateTime = DateTime.Now.ToString("yyyyMMdd");//存储当前日期
public static List<string> BarTenderCodSample=new List<string>();
public Form1()
{
string strFullPath = Application.ExecutablePath;
string strFileName = System.IO.Path.GetFileName(strFullPath);
string[] RunExeName = strFileName.Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries);
System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName(RunExeName[0].Trim());
if(myProcesses.Length>1)
{
MessageBox.Show("程式已启动");
System.Environment.Exit(1);//退出主程式返回1
}
InitializeComponent();
if(ReadConfigInfo("config.ini")==false)//读取配置信息
{
System.Environment.Exit(1);//退出主程式返回1
}
if(RedLPTFileInfo(Smple[5])==false)//读取打印字段串
{
System.Environment.Exit(1);//退出主程式返回1
}
}
public bool ReadConfigInfo(string CfgName)//读取取置信息
{
bool Flag = false;
try
{
FileStream fs = new FileStream(CfgName, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs,Encoding.Default);
string Temp = string.Empty;
while((Temp=sr.ReadLine())!=null)
{
string[] Array = Temp.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries);
int n = 0;
foreach(string str in Smple)
{
if(str==Array[0].Trim())
{
Smple[n] = Array[1].Trim();
break;
}
n++;
}
}
sr.Close();
fs.Close();
Flag = true;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
Flag = false;
}
return Flag;
}
public bool ReadSqlTeamViewerID(string []Key)//读取TeamViewer ID
{
bool Flag = false;
try
{
SqlConnection conn = new SqlConnection("server=" + Key[0] + ";database=" + Key[1] + ";uid=" + Key[2] + ";pwd=" + Key[3]);
conn.Open();
if (conn.State != ConnectionState.Open)
{
Flag = false;
return Flag;
}
SqlCommand cmd = new SqlCommand(Key[4],conn);
cmd.CommandType = CommandType.StoredProcedure;//启动储存过程参数
cmd.Parameters.Add("@SN",textBox1.Text.Trim());
cmd.Parameters.Add("@rs",1);//添加T-SQL存储过程参数
cmd.Parameters["@rs"].Direction = ParameterDirection.Output;//启动输出返回
cmd.ExecuteScalar();
if(cmd.Parameters["@rs"].Value.ToString().Trim()=="NULL")
{
Flag = false;
}
else if((string)cmd.Parameters["@rs"].Value.ToString().Trim()!=" ")
{
//MessageBox.Show(cmd.Parameters["@rs"].Value.ToString().Trim());
TeamViewerID = cmd.Parameters["@rs"].Value.ToString().Trim();
Flag = true;
}
else
{
Flag = false;
}
conn.Close();
return Flag;
}
catch(Exception ex)
{
Flag = false;
MessageBox.Show(ex.Message);
}
return Flag;
}
public bool RedLPTFileInfo(string FileName)
{
bool Flag = false;
try
{
FileStream fs = new FileStream(FileName, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, Encoding.Default);
string Temp = string.Empty;
while((Temp=sr.ReadLine())!=null)
{
BarTenderCodSample.Add(Temp.Trim());
}
sr.Close();
fs.Close();
Flag = true;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
Flag = false;
}
return Flag;
}
public bool WriteLPTFileInfo(string FileName)
{
bool Flag = false;
try
{
FileStream fs = new FileStream(FileName, FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs,Encoding.Default);
foreach(string nn in BarTenderCodSample)
{
string[] Array = nn.Split(new string[] { ":"},StringSplitOptions.RemoveEmptyEntries);
//if(Array[0].Trim()[email protected]"^FO30,40^A0N,25,25^FDTeamviewer ID")
if (Array[0][(Array[0].Length)-1].ToString()=="D")
{
sw.WriteLine(Array[0].Trim() + @":" + TeamViewerID + @"^FS");
}
else if(Array[0][(Array[0].Length)-1].ToString()=="0")
{
sw.WriteLine(Array[0].Trim() + DateTime.Now.ToString("yyMMdd"));
}
else
{
sw.WriteLine(nn);
}
}
sw.Close();
fs.Close();
Flag = true;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
Flag = false;
}
return Flag;
}
public static int state = 0;
public static int bootprint = 0;
public static void CallBath()//调用批处理
{
string targetDir = string.Empty;
targetDir = System.IO.Directory.GetCurrentDirectory() + @"\";
Process proc = null;
try
{
proc = new Process();
proc.StartInfo.WorkingDirectory = targetDir;
proc.StartInfo.FileName=Smple[6].Trim();
proc.StartInfo.Arguments = string.Format(" ");//this is argument
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;//这里显示DOS窗口不显示
proc.Start();
proc.WaitForExit();
state = 1;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
state = 0;
}
}
private void textBox1_TextChanged(object sender, EventArgs e)//触发输入启动
{
if(textBox1.Text.Length>=12)
{
bool WriteDataResult = false;
label4.Text = "状态:扫描录入完成";
label4.BackColor = Color.Gold;
WriteDataResult = ReadSqlTeamViewerID(Smple);
if(WriteDataResult==true)
{
if (TeamViewerID!=null&&TeamViewerID!="")
{
if (WriteLPTFileInfo("Sample.ini") == true)
{
bootprint = 1;
}
else
{
label4.Text = "状态:生成打印条码错误!!";
label4.BackColor = Color.Red;
}
}
else
{
label4.Text = "状态:扫描的SN条码无法对应查询到绑定TeamViewer ID";
label4.BackColor = Color.Red;
}
}
else
{
label4.Text = "状态:连接SQL SERVER DataBases读取数据错误!!";
label4.BackColor = Color.Red;
}
}
else
{
label4.Text = "状态:条码录入中..";
label4.BackColor = Color.Gold;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
if(bootprint==1)
{
CallBath();
if (state == 1)
{
label4.Text = "状态:执行条码打印完成!!";
label4.BackColor = Color.Green;
label2.Text = "Teamviewer ID:" + TeamViewerID;
label3.Text = "初始密码:halley";
label5.Text = DateTime.Now.ToString("yyyyMMdd");
textBox1.Text = "";
state = 0;
label6.Text = "PASS";
label6.BackColor = Color.Green;
}
else
{
label4.Text = "状态:执行条码打印错误!!";
label4.BackColor = Color.Red;
label6.Text = "FAIL";
label6.BackColor = Color.Red;
}
bootprint = 0;
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Threading;
using System.IO;
using Microsoft.Win32;
namespace Print_Barcode
{
public partial class Form1 : Form
{
public static string[] KeyValue = { "NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL"};
public static string[] Smple = { "SERVER", "DATABASE", "UID", "PWD", "StoredProcedure", "ReadLPTFile", "CallBath","State"};
public static string TeamViewerID = string.Empty;//存储TeamViewerID
public static string NowDateTime = DateTime.Now.ToString("yyyyMMdd");//存储当前日期
public static List<string> BarTenderCodSample=new List<string>();
public Form1()
{
string strFullPath = Application.ExecutablePath;
string strFileName = System.IO.Path.GetFileName(strFullPath);
string[] RunExeName = strFileName.Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries);
System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName(RunExeName[0].Trim());
if(myProcesses.Length>1)
{
MessageBox.Show("程式已启动");
System.Environment.Exit(1);//退出主程式返回1
}
InitializeComponent();
if(ReadConfigInfo("config.ini")==false)//读取配置信息
{
System.Environment.Exit(1);//退出主程式返回1
}
if(RedLPTFileInfo(Smple[5])==false)//读取打印字段串
{
System.Environment.Exit(1);//退出主程式返回1
}
}
public bool ReadConfigInfo(string CfgName)//读取取置信息
{
bool Flag = false;
try
{
FileStream fs = new FileStream(CfgName, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs,Encoding.Default);
string Temp = string.Empty;
while((Temp=sr.ReadLine())!=null)
{
string[] Array = Temp.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries);
int n = 0;
foreach(string str in Smple)
{
if(str==Array[0].Trim())
{
Smple[n] = Array[1].Trim();
break;
}
n++;
}
}
sr.Close();
fs.Close();
Flag = true;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
Flag = false;
}
return Flag;
}
public bool ReadSqlTeamViewerID(string []Key)//读取TeamViewer ID
{
bool Flag = false;
try
{
SqlConnection conn = new SqlConnection("server=" + Key[0] + ";database=" + Key[1] + ";uid=" + Key[2] + ";pwd=" + Key[3]);
conn.Open();
if (conn.State != ConnectionState.Open)
{
Flag = false;
return Flag;
}
SqlCommand cmd = new SqlCommand(Key[4],conn);
cmd.CommandType = CommandType.StoredProcedure;//启动储存过程参数
cmd.Parameters.Add("@SN",textBox1.Text.Trim());
cmd.Parameters.Add("@rs",1);//添加T-SQL存储过程参数
cmd.Parameters["@rs"].Direction = ParameterDirection.Output;//启动输出返回
cmd.ExecuteScalar();
if(cmd.Parameters["@rs"].Value.ToString().Trim()=="NULL")
{
Flag = false;
}
else if((string)cmd.Parameters["@rs"].Value.ToString().Trim()!=" ")
{
//MessageBox.Show(cmd.Parameters["@rs"].Value.ToString().Trim());
TeamViewerID = cmd.Parameters["@rs"].Value.ToString().Trim();
Flag = true;
}
else
{
Flag = false;
}
conn.Close();
return Flag;
}
catch(Exception ex)
{
Flag = false;
MessageBox.Show(ex.Message);
}
return Flag;
}
public bool RedLPTFileInfo(string FileName)
{
bool Flag = false;
try
{
FileStream fs = new FileStream(FileName, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, Encoding.Default);
string Temp = string.Empty;
while((Temp=sr.ReadLine())!=null)
{
BarTenderCodSample.Add(Temp.Trim());
}
sr.Close();
fs.Close();
Flag = true;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
Flag = false;
}
return Flag;
}
public bool WriteLPTFileInfo(string FileName)
{
bool Flag = false;
try
{
FileStream fs = new FileStream(FileName, FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs,Encoding.Default);
foreach(string nn in BarTenderCodSample)
{
string[] Array = nn.Split(new string[] { ":"},StringSplitOptions.RemoveEmptyEntries);
//if(Array[0].Trim()[email protected]"^FO30,40^A0N,25,25^FDTeamviewer ID")
if (Array[0][(Array[0].Length)-1].ToString()=="D")
{
sw.WriteLine(Array[0].Trim() + @":" + TeamViewerID + @"^FS");
}
else if(Array[0][(Array[0].Length)-1].ToString()=="0")
{
sw.WriteLine(Array[0].Trim() + DateTime.Now.ToString("yyMMdd"));
}
else
{
sw.WriteLine(nn);
}
}
sw.Close();
fs.Close();
Flag = true;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
Flag = false;
}
return Flag;
}
public static int state = 0;
public static int bootprint = 0;
public static void CallBath()//调用批处理
{
string targetDir = string.Empty;
targetDir = System.IO.Directory.GetCurrentDirectory() + @"\";
Process proc = null;
try
{
proc = new Process();
proc.StartInfo.WorkingDirectory = targetDir;
proc.StartInfo.FileName=Smple[6].Trim();
proc.StartInfo.Arguments = string.Format(" ");//this is argument
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;//这里显示DOS窗口不显示
proc.Start();
proc.WaitForExit();
state = 1;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
state = 0;
}
}
private void textBox1_TextChanged(object sender, EventArgs e)//触发输入启动
{
if(textBox1.Text.Length>=12)
{
bool WriteDataResult = false;
label4.Text = "状态:扫描录入完成";
label4.BackColor = Color.Gold;
WriteDataResult = ReadSqlTeamViewerID(Smple);
if(WriteDataResult==true)
{
if (TeamViewerID!=null&&TeamViewerID!="")
{
if (WriteLPTFileInfo("Sample.ini") == true)
{
bootprint = 1;
}
else
{
label4.Text = "状态:生成打印条码错误!!";
label4.BackColor = Color.Red;
}
}
else
{
label4.Text = "状态:扫描的SN条码无法对应查询到绑定TeamViewer ID";
label4.BackColor = Color.Red;
}
}
else
{
label4.Text = "状态:连接SQL SERVER DataBases读取数据错误!!";
label4.BackColor = Color.Red;
}
}
else
{
label4.Text = "状态:条码录入中..";
label4.BackColor = Color.Gold;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
if(bootprint==1)
{
CallBath();
if (state == 1)
{
label4.Text = "状态:执行条码打印完成!!";
label4.BackColor = Color.Green;
label2.Text = "Teamviewer ID:" + TeamViewerID;
label3.Text = "初始密码:halley";
label5.Text = DateTime.Now.ToString("yyyyMMdd");
textBox1.Text = "";
state = 0;
label6.Text = "PASS";
label6.BackColor = Color.Green;
}
else
{
label4.Text = "状态:执行条码打印错误!!";
label4.BackColor = Color.Red;
label6.Text = "FAIL";
label6.BackColor = Color.Red;
}
bootprint = 0;
}
}
}
}