课件rfid程序usingSystem.IO Ports命名空间_第1页
课件rfid程序usingSystem.IO Ports命名空间_第2页
课件rfid程序usingSystem.IO Ports命名空间_第3页
课件rfid程序usingSystem.IO Ports命名空间_第4页
课件rfid程序usingSystem.IO Ports命名空间_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、using using System.IO.Ports;using System.Collections.Generic; using System.Data;using /usingSystem.Linq; using System.Text;using INIFILE;using System.Data.SqlClient;usingusing namespaceSerialtest口 储多个DataTablepublicpartial class Form1: SerialPort sp= newstringdoornumber;/房intint,x1= new int20,public

2、 FormfmnewForm();/建立新窗boolFLAGfalse;/布尔值检测是否移falseboolbool FLAG15693 =string dateRecive= stringstringlastUid=;/*Stringa;申明一个string类型的a,即没有在申请内存地址,更没有在内存任何指StringStringa=null;申明一个string类型的a,同时在内存里申请了一个地址,但是该地址不指向任地址StringStringa=;申明一个string类型的a,既在内存里申请了地址,该地址又指向一string secondUid =stringsRc =intcounts

3、 =intidCount=0; private string Cardid;/ Thread/ stringuid= privatevoidder,EventArgse)/stringstrCon=.Jet.OLEDB.4.0;DataSource=rfid.MDB/mdb同一下/下/数据库连接字符OleDbConnection myConn =new= SELECTuser,uidFROM rfidwhere idmyConn.Open开数,OleDbDataAdapteradapter =new btDb.Text打开成功DataSetds= new adapter.Fill(ds, ,O

4、leDbDataAdapteradapter =new btDb.Text打开成功DataSetds= new adapter.Fill(ds, this.dataGridView1.DataSource= 值 MessageBox.Show(错误:nex.ToString显示消息for (intx1a,0 =10+ a * x1a,1 =x1a,2 =10+ a *x1a,3 =for(intb = 3; b 6;x1b,0 =10+ (b-3)* x1b,1 = x1b,2 =10+ (b-3) *200+ x1b,3 = timer2.Enabled= /timer3.Enabled=/

5、 c= newThread(new / Stringstr =if (str=MessageBox.Show(no foreach(string sinSystem.IO.Ports.SerialPort.GetPortNames()/获取有多少个COM/ bandrate / / Control.CheckForIllegalCrossThreadCallsfalse;/获取或设置一个值,该值指示是否捕获对错误线程的调sp.DataReceivednewSerialDataReceivedEventHandler(sp_DataReceived);/串口收到数据后会执行 voidfor(in

6、ta = 0; a 3;x1a,0 =10+ a * x1a,1 =x1a,2 =10+ a *200+ x1a,3 =for(intb = 3; b 6;x1b,0 =10+ (b- 3)* x1b,1 = x1b,2 =10+ (b - 3)* 200 + x1b,3 = void der,SerialDataReceivedEventArgsif (if (口,但为了严谨性,我还是加上DateTime dt =Receive.Text+=dt.GetDateTimeFormats(f)0.ToString()+Receive.SelectionColor/改变字体的颜bytebyteRe

7、ad = new if (if (bytedataUid = newBytereceivedDatanew sp.Read(receivedData, 0,sp.Read(receivedData, 0,数/string text =stringuid= stringstrRcv =iffor(inti0;ireceivedData.Length;i+)/i【之前的字符if(char)Convert.ToInt32(receivedDatai)= for (int j = 0; j 10; j+)/ ID 的过程来理解 最后 j=9 所以要+1uidchar)Convert.ToInt32(r

8、eceivedDataij1);/uid=()里面 的加上来 +就是加上来 if同/try/ for (inti =0; i receivedData.Length;if (char)Convert.ToInt32(receivedDatai)= / if (receivedData.Length =for (intj = 0;j 16;uid+=(char)Convert.ToInt32(receivedDatai+j +strRcv+= catch (ExceptionMessageBox.Show(错误:nex.ToStringdateRecive =cnReceive.TextstrR

9、cvsRc= if (uid= /textState.Text关textDb.Text=数据成功数据成功/textState.Text打cnReceive.Textsp.ReadLinern回车换行必须这样写,单独使用r和Receive.Text+=sp.ReadLine()/intn =/byte buf =new / sp.Read(buf,0, / stringreceivedata= / cnReceive.Text += MessageBox.Show(请privateprivatevoid der,EventArgse)/private void回值的方 获 事件/在Selecte

10、dIndex性更改后生privateprivatevoid der,EventArgsprivateprivatevoid der,EventArgsstringserialName = sp.PortNamesp.PortName=stringstringstrbandRate =Int32iBandRate= sp.BaudRate=sp.DataBits=sp.StopBitsStopBits.One读缓存有数据到达时则触发DataReceivedsp.Parity= Parity.None;tsspNum.TexttsspNum.Text=: +sp.PortName+tsBaudRa

11、te.Text波特sp.BaudRatetsDataBits.Text数据sp.DataBitstsStopBits.Text停止sp.StopBitstsParity.Text校验位sp.Paritycatch (System.ExceptionMessageBox.Show(Error:+ ex.Message,/tmSend.Enabled =privateprivatevoidder, EventArgs if /cnSend.Text =if elseMessageBox.Show(端privateprivatevoidder,EventArgs tsspNum.Text =tssp

12、Num.Text =:未指定 tsBaudRate.Text特率:未指定 tsDataBits.Text据位:未指定 tsStopBits.Text止位:未指定 tsParity.Text未指定privatevoidprivatevoidtextDb.Text=der,EventArgs privatevoidcnReceive.Text= der,EventArgsprivatevoidder, EventArgsif(string input=char values= StringBuilderstringBuilder= newforeach (charletter in String

13、textAsHex =/ cnSend.Text=privatevoidder, EventArgsif (/privateprivatevoidder,EventArgs cnReceive.SelectionStartcnReceive.Text.Length;/选择起始索引位privateprivatevoidder,EventArgs privatevoidderEventArgse)/换privateprivatevoidder,EventArgsprivatevoidder,privatevoidder,EventArgs stringstrCon.Jet.OLEDB.4.0;Da

14、taSource=wxldk.mdbstringstrCon.Jet.OLEDB.4.0;DataSource=wxldk.mdbmdb然是同一个录下OleDbConnection myConn =new= SELECT* FROM mand command mandTextSELECT COUNT(*) FROM anschindy;/anschindytempint)command.ExecuteScalar();/executescalar检索方 OleDbDataAdapteradapternewDataSetdsnew DataSet();/创建数据库对adapter.Fill(ds

15、,anschindy);/用数据库内容来填充/this.dataGridView1.DataSource = / textDb.Text = ds.Tablesanschindy.Rows1Cardid.ToString/0,抓titlexx X,Xfor (inti= 0; itemp; ListViewItem item =newitem.SubItems0.Text =/item.SubItems0.Text =catch (ExceptionMessageBox.Show(错误:nex.ToStringprivateprivatevoid der,EventArgs privatevo

16、idder,privatevoidder,EventArgsif (textUser.Text= |textUid.Text= | textDoor.Text=|textGrand.Text= stringstringConStr= .Jet.OLEDB.4.0;DataOleDbConnectioncon= new/ stringf = string n= intm =string if (m =/ + textGrand.Text+sqlUPDATEanschindySETdoor1textGrand.TextWHERECardidtextUid.Text ;/全都是没有加“的问题 不加

17、就是直接字符串进去mandcmdd(sql,= SELECT *FROManschindywhere Cardid= +mandcmdd(sql,elseif (m =sqlUPDATEanschindySETdoor2textGrand.TextWHERECardid=textUid.Text ;/全都是没有加“的问题 不加 就是直接字符串进去mandmand cmd d(sql,elseif (m =sqlUPDATEanschindySETdoor3textGrand.TextWHERECardid=textUid.Text ;/全都是没有加“的问题 不加 就是直接字符串进去mandma

18、nd cmd d(sql,elseif (m =sqlUPDATEanschindySETdoor4textGrand.TextWHERECardid=textUid.Text ;/全都是没有加“的问题 不加 就是直接字符串进去d(sql,d(sql,mand cmdelseif (m =sqlUPDATEanschindySETdoor5textGrand.TextWHERECardid=textUid.Text ;/全都是没有加“的问题 不加 就是直接字符串进去mandmand cmd d(sql,elseif (m =sqlUPDATEanschindySETdoor6textGrand

19、.TextWHERECardid=textUid.Text ;/全都是没有加“的问题 不加 就是直接字符串进去mandmand cmd d(sql,/stringsql=updateanschindysetdoor1=+textGrand.Text+where= + textGrand.Text + where textDoor.text=2,door3 = + textGrand.Text + where textDoor.text=3,door4=+textGrand.Text+ wheretextDoor.text=4,door5=+textGrand.Text+ wheretextDo

20、or.text=5,door6=+textGrand.Text+ wheretextDoor.text=6,username=+mandcmdd(sql,+ ,Cardid= +textUid.Text + whereCAID=mandcmdd(sql,/System.Threading.Thread.Sleep(1* int temp =stringstrCon=.Jet.OLEDB.4.0;DataSource=wxldk.MDB/mdb然是OleDbConnection myConn =new= SELECT* FROM mand command mandText=SELECT COUN

21、T(*) FROMtemp= / OleDbDataAdapteradapter =new ,/btDb.Text = 打开DataSetds= new adapter.Fill(ds, /this.dataGridView1.DataSource =/ /textDb.Text=ds.Tablesanschindy.Rows1Cardid.ToString();/0行,抓title值当然也可 以是 xxX 行,X 列这样来取for (inti= 0; itemp; ListViewItem item =newitem.SubItems0.Text =catch (ExceptionMessa

22、geBox.Show(错误:nex.ToStringprivatevoid privatevoid der, EventArgsstring string if(textUser.Text|textUid.Text|textId .Textint temp= /temp =temp+ stringstringConStr= .Jet.OLEDB.4.0;DataOleDbConnectionconnewOleDbConnection(ConStr);/使用指定的连接字符串初始化OleDbConnectionstring n= intm =int if (m = sql=insertintoan

23、schindy(CAID,username,Cardid,door1)values(+temp.ToString()+ + textUser.Text +,+textUid.Text+ , + textGrand.Text+ mandmandcmd d(sql,elseif (m=sql=insertintoanschindy(CAID,username,Cardid,door2)values(+temp.ToString()+mandcmd d(sql, + textUser.Text +,+textUid.Text+ ,mandcmd d(sql,elseif elseif (m=sql=

24、insertintoanschindy(CAID,username,Cardid,door3)values(+temp.ToString()+ + textUser.Text +,+textUid.Text+ , + textGrand.Text+ mandcmdd(sql,elseif elseif (m=sql=insertintoanschindy(CAID,username,Cardid,door4)values(+temp.ToString()+ + textUser.Text +,+textUid.Text+ , + textGrand.Text+ mandcmdd(sql,els

25、eif elseif (m=sql=insertintoanschindy(CAID,username,Cardid,door5)values(+temp.ToString()+ + textUser.Text +,+textUid.Text+ , + textGrand.Text+ mandcmdd(sql,elseif elseif (m=sql=insertintoanschindy(CAID,username,Cardid,door6)values(+temp.ToString()+ + textUser.Text +,+textUid.Text+ , + textGrand.Text

26、+ mandcmdd(sql,catch catch / /System.Threading.Thread.Sleep(1* int temps= stringstrCon=.Jet.OLEDB.4.0;DataSource=wxldk.MDB/mdb然是OleDbConnection myConn =new= SELECT* FROM mand command mandText=SELECT COUNT(*) FROMtemps= /OleDbDataAdapteradapter =new ,/btDb.TextDataSetds= new adapter.Fill(ds, /this.da

27、taGridView1.DataSource =/ /textDb.Text=ds.Tablesanschindy.Rows1Cardid.ToString();/0行,抓title值当然也可 以是 xxX 行,X 列这样来取for (inti= 0; i temps; ListViewItem item =newitem.SubItems0.Text = catch (ExceptionMessageBox.Show(错误:nex.ToString/删除用privatevoidder,EventArgs if (textId.Text.Trim()= MessageBox.Show(请选择i

28、nt temp =/temp =temp+stringstringConStr= .Jet.OLEDB.4.0;DataOleDbConnection con= new /string sqlDELETE fromanschindy WHERE CAID+temp.ToString学长stringsqlDELETE fromanschindy WHERECAIDtemp.ToString()+ ;/我改的mandmand cmd d(sql,/System.Threading.Thread.Sleep(1*int temps=stringstringstrCon=.Jet.OLEDB.4.0;

29、DataSource=wxldk.MDB/mdb然是OleDbConnectionmyConn =new=SELECT* FROMmand commandmandText= SELECTCOUNT(*)FROM temps=/OleDbDataAdapteradapter =new, DataSetds= newadapter.Fill(ds,/this.dataGridView1.DataSource=/textDb.Text=ds.Tablesanschindy.Rows1Cardid.ToString();/0行,抓title值当然 也可以是 xxX 行,X 列这样来取for (inti

30、= 0;i temps; ListViewItem item =newitem.SubItems0.Text=catch(Exception MessageBox.Show(错误:nex.ToString/*private/*privatevoid der,EventArgs*符串首部和尾部 if (textId.Text.Trim()=int temp =stringConStr= .Jet.OLEDB.4.0;DatastringConStr= .Jet.OLEDB.4.0;DataOleDbConnectioncon= newstringsql =DELETE from anschind

31、y where CAID= + textId.Text+ mand cmdd(sql,mand cmdd(sql,/System.Threading.ThrFead.Sleep(1*int temps= stringstrCon=.Jet.OLEDB.4.0;DataSource=wxldk.MDB;/mdb个OleDbConnection myConn =new= SELECT* FROM mand command mandText=SELECT COUNT(*) FROMtemps(int)command.ExecuteScalar();/temps行/ OleDbDataAdaptera

32、dapter =new ,DataSetds= new adapter.Fill(ds, /this.dataGridView1.DataSource =/ /textDb.Text=ds.Tablesanschindy.Rows1Cardid.ToString();/0行,抓title值当然也可 以是 xxX 行,X 列这样来取for (inti= 0; i temps; ListViewItem item =newitem.SubItems0.Text =catch (ExceptionMessageBox.Show(错误:nex.ToStringprivatevoidder, Event

33、Args privateprivatevoid der,EventArgsif FLAG= MessageBox.Show(端privatevoid der, privatevoid der, EventArgsintDateTimedt =/toString /toString /showtime后放进数据表temps =if if (FLAG =if (radioButton1.Checked)if (radioButton1.Checked) ine(0109000304A0010000);if(radioButton2.Checked)ine(010B00030414260100000

34、0);/ counts=if (dateRecive!=stringstringstrCon=.Jet.OLEDB.4.0;DataSource=wxldk.mdbmdb然OleDbConnectionmyConn=new=SELECT*FROManschindywhereCardid= +dateRecive+ mand commandmandText=SELECTcount(*)FROManschindywhereCardid=+dateRecive+ tempsint)command.ExecuteScalar();/强制转换 恢复到/*if(lastUid != dateRecive|

35、 lastUid!=secondUid =lastUid= idCount= /string ConStr= .Jet.OLEDB.4.0;Data/OleDbConnection con=new /*string stringif( Cardid=sql= SelectCount(*)AsNumbersofanschindy frommandwhile(sql!= cmdcmd d(sql, int x=if(temps =textLog.TexttextLog.TextshowTimeOleDbDataAdapteradapter =new, DataSetds = newadapter.

36、Fill(ds,stringi = int n =/string showDoor =/0行,抓title值当然也可以是stringshowName= /int/int stringshowGrand= ds.Tablesanschindy.Rows0n+/int m= 0;for(m =0;m temps; /doornumber =/int /dn =/dn=Int32.Parse(doornumber)int/y = x1n -1,/intx = x1dn- 1,/button3.Text =/x1n- 1,3 =y -/x1dn- 1,2= x /timer4.Enabled= /in

37、tm = 0; for (m=0; m temps; /for(intk =0; k=6; k= string sql= Select Count(*) AsNumbersofanschindyfromint mand/cmd d(sql, /cmd d(sql, x= stringtja =stringtjb =stringtjc =stringtjd =stringtje =stringtjf =if (tja= y =x10,x10, 3= y- textLog.TexttextLog.TextshowTimeshowNamert打开1门/textState.Text/textState

38、.TextshowNamert开i门showNamert打开1门/y = x10,/x10,3= y -/if (tjb=if (tjb= y =x11,x11, 3= y- textLog.Text+=showTime+showNamert打开2门门/textState.Text =showNamert打ishowNamert打开2门/y= x11,/x11,3 =y -/if (tjc= 门y =x12,x12, 3= y- textLog.TextshowTimeshowNamert打开3/textState.Text = :+showName+rt+打开+i+门; : + showNa

39、me + rt + 打开 + 3 + 门);if (tjd= 门y =x13,x13, 3= y- textLog.TextshowTimeshowNamert打开4/textState.Text = :+showName+rt+打开+i+门; : + showName + rt + 打开 + 4 + 门);if (tje= 门y =x14,x14, 3= y- textLog.TextshowTimeshowNamert打开5/textState.Text = :+showName+rt+打开+i+门; : + showName + rt + 打开 + 5 + 门);if (tjf= y =

40、x15,x15, 3= y- textLog.TextshowTimetextLog.TextshowTimeshowNamert打开6门/textState.Text/textState.TextshowNamert开i门showNamert打开6门if(tja=N&tjb=N&tjc=N&tjd=N&tje=N&tjf=textLog.TexttextLog.Text+=showTime+ +showName+限+MessageBox.Show(showName+限 /n = 0; for(n= 0;nidCount= lastUid= privatevoid der,EventArgs

41、FLAG=FLAG= privatevoidder,EventArgsprivatevoidder, EventArgstextLog.SelectionStart=textLog.SelectionStart= privatevoidder, EventArgs privatevoid der,EventArgs/ / / if/ if(radioButton1.Checked) MessageBox.Show(111); privatevoid der,EventArgsif if / cnSend.Text= if if MessageBox.Show(端privateprivatevoidder, EventArgs /FLAG14443=/ FLAG15693=/ privateprivatevoidder, EventArgs / FLAG14443=/ FLAG15693=if MessageBox.Show(端privatevoid der,PaintEventArgs SolidBrushbrush0=newSolidBrush Fontfont = new Font(宋Graphicsg = g.SmoothingMode =Penmypen1 = new Pen(Color.CadetBlue,/PointFpc=new PointFfor(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论