⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wholesale.cs

📁 WINCE数据库sqlce 通讯stock 代码
💻 CS
📖 第 1 页 / 共 4 页
字号:
				KHID = myReader.GetValue(1).ToString();
				myReader.Close();
			}
			catch
			{
				//MessageBOX.Text=" 客户信息读取失败!";
				conn.Dispose();
				return;
			}

			//从配额中取出相应的配额数量
			try
			{
				SqlText=null;
				SqlText = "SELECT * FROM TAF WHERE TAFAA='"+THID+"'";
				SqlCeCommand cmd=new SqlCeCommand(SqlText,conn);
				myReader=cmd.ExecuteReader();
				myReader.Read();
				NPE = System.Convert.ToDouble(myReader.GetValue(2).ToString());
				JYLJ = myReader.GetValue(4).ToString();
				myReader.Close();
			}
			catch
			{
				NPE=0.0;
				//MessageBOX.Text=" 无交易配额!交易失败!";
				MsgBox(rm.GetString("10005"),MsgTitle,3);
				conn.Dispose();

				if(IsExit)
					goto Exit;

				GoNet();

				IsExit=true;

				goto TryAgain;
			Exit:
				//MessageBOX.Text=" 无交易配额!交易失败!";
				MsgBox(rm.GetString("10010"),MsgTitle,3);
				return;
			}


			if(TBox_Amount.Text.Trim().Length==0)
			{
				JYSL=0.0;
			}
			else
			{
				JYSL = System.Convert.ToDouble(TBox_Amount.Text.ToString());
			}

			//如果配额数量小于要交易的数量则给出提示信息
			if( NPE<(JYSL*LGSL) )
			{
				//MessageBOX.Text=" 产品配额信息不足!";
				conn.Dispose();

				if(IsExit)
					goto Exit;

				GoNet();

				IsExit=true;

				goto TryAgain;
			Exit:
				//MessageBOX.Text=" 无交易配额!交易失败!";
				MsgBox(rm.GetString("10010"),MsgTitle,3);
				return;
			}

			NUMSY = NPE-JYSL*LGSL;

			try
			{
				//如果交易后配额大于零则向物流关键信息表插入记录的同时更新配额数量
				if (NPE>JYSL*LGSL)
				{
					try
					{
						//string sql,SQLSTR;

						if ( JYLJ =="") 
						{
							LJ = HCuppID.ToString();
						}
						else
						{
							LJ = JYLJ.ToString() + "^" + HCuppID.ToString();
						}
						mycmd.CommandText = "insert into taa (TAAAA,TAAAB,TAAAC,TAAAD,TAAAE,TAAAF,TAAAG) values ('"+THID+"','"+DeviceID+"','"+ KHID +"',"+JYSL*LGSL+",'"+Atime+"','"+LJ+"',0)";
						mycmd.ExecuteNonQuery();
						mycmd.CommandText ="UPDATE TAF SET TAFAB = "+NUMSY.ToString()+" WHERE TAFAA = '"+THID+"'"; 
						mycmd.ExecuteNonQuery();
						//MessageBOX.Text=" 交易成功!";
						
					}
					catch
					{
						//MessageBOX.Text=" 交易失败!";
						conn.Dispose();
						return;
					}
				}

				//如果交易配额为零则向物流关键信息表插入记录的同时删除配额信息表中的该条产品记录
				if (NPE==JYSL*LGSL && NPE!=0.0)
				{
					try
					{
						if ( JYLJ =="") 
						{
							LJ = HCuppID.ToString();
						}
						else
						{
							LJ = JYLJ.ToString() + "^" + HCuppID.ToString();
						}
						mycmd.CommandText="insert into taa (TAAAA,TAAAB,TAAAC,TAAAD,TAAAE,TAAAF,TAAAG) values ('"+THID+"','"+DeviceID+"','"+KHID+"',"+JYSL*LGSL+",'"+Atime+"','"+LJ+"',0)";
						mycmd.ExecuteNonQuery();
						mycmd.CommandText="UPDATE TAF SET TAFAB = "+NUMSY.ToString()+" WHERE TAFAA = '"+THID+"'"; 
						mycmd.ExecuteNonQuery();
						//MessageBOX.Text=" 交易成功!";
					}
					catch
					{
						//MessageBOX.Text=" 交易失败!";
						conn.Dispose();
						return;
					}
				}
				myTrans.Commit();
				conn.Dispose();
				GoNet();
				MessageBOX.Text="交易成功!";
				//MsgBox(TBox_ThName.Text+" "+TBox_Amount.Text+TBox_Pack.Text+" "+TBox_ClientID.Text+rm.GetString("10009"),MsgTitle,5);
				//MsgBox(rm.GetString("10009"),MsgTitle,30);
				Clear();
			}
			catch(Exception)
			{
				myTrans.Rollback();
				conn.Dispose();
			}
				/*
			finally
			{
				conn.Dispose();
			}
			*/
		}
		
//------------------------在扫描条件情况下交易过程(ZJNET ADD 2005.8.10)----------------------
		private void Scan()
		{
			bool IsExit=false;
TryAgain:
			CEData lo;
			lo=new CEData();
			Len = new SubStr();
			string SqlText,PACKID,LJ;
			double NTEXT=0;
			double NLG=0;
			double NPE=0;
		
			MessageBOX.Text="";
			DateTime Atime = DateTime.Now;
			SqlCeConnection conn=lo.conn;
			SqlCeDataReader myReader=null;
			SqlCeTransaction myTrans;
			myTrans=conn.BeginTransaction();
			SqlCeCommand mycmd=conn.CreateCommand();
			mycmd.Connection=conn;
			mycmd.Transaction=myTrans;

			
			//读取事物包装层次ID
			try
			{
				SqlText=null;
				SqlText = "SELECT * FROM TAE WHERE TAEAB = '"+TBox_Pack.Text.ToString()+"'AND  TAEAA ='"+ProductID+"'";
				SqlCeCommand cmd=new SqlCeCommand(SqlText,conn);
				myReader=cmd.ExecuteReader();
				myReader.Read();				
				PACKID = myReader.GetString(4);//获取产品包装层次ID			
				myReader.Close();
			}
			catch
			{
				//MessageBOX.Text=" 信息读取失败!";
				conn.Dispose();
				ScanData="";
				ScanSize=0;
				return;
			}

			//从词库中获取产品对应包装类别量纲数量
			try
			{
				SqlText=null;
				SqlText = "SELECT * FROM TAE WHERE TAEAD='"+PACKID+"' AND  TAEAA ='"+ProductID+"'";
				myReader=lo.ExeSQL(SqlText);
				myReader.Read();
				NLG = System.Convert.ToDouble(myReader.GetValue(6).ToString());
				myReader.Close();
			}
			catch
			{
				NLG=0.0;
				//MessageBOX.Text=" 交易失败!";
				MsgBox(rm.GetString("10010"),MsgTitle,3);
				conn.Dispose();
				ScanData="";
				ScanSize=0;
				return;
			}

			//从配额中取出相应的配额数量
			try
			{
				SqlText=null;
				SqlText = "SELECT * FROM TAF WHERE TAFAA='"+ProductID+"'";
				SqlCeCommand cmd=new SqlCeCommand(SqlText,conn);
				myReader=cmd.ExecuteReader();
				myReader.Read();
				NPE = System.Convert.ToDouble(myReader.GetValue(2).ToString());

				myReader.Close();
			}
			catch
			{
				NPE=0.0;
				//MessageBOX.Text=" 无产品配额信息,交易失败!";
				conn.Dispose();
				ScanData="";
				ScanSize=0;

				if(IsExit)
					goto Exit;

				GoNet();

				IsExit=true;

				goto TryAgain;
			Exit:
				//MessageBOX.Text=" 暂时无产品配额!交易失败!";
				MsgBox(rm.GetString("10005"),MsgTitle,3);
				return;
			}

			//获取要交易数量
			if(TBox_Amount.Text.Trim().Length==0)
			{
				NTEXT=0.0;
			}
			else
			{
				NTEXT = System.Convert.ToDouble(TBox_Amount.Text.ToString());
			}

			//如果配额数量小于要交易的数量则给出提示信息
			if( NPE<(NTEXT*NLG) )
			{
				//MessageBOX.Text=" 产品配额信息不足!";
				conn.Dispose();
				ScanData="";
				ScanSize=0;
				
				if(IsExit)
					goto Exit;

				GoNet();

				IsExit=true;

				goto TryAgain;
			Exit:
				//MessageBOX.Text=" 无交易配额!交易失败!";
				MsgBox(rm.GetString("10005"),MsgTitle,3);
				return;
			}

			try
			{
				//如果交易后配额大于零则向物流关键信息表插入记录的同时更新配额数量
				if (NPE>NTEXT*NLG)
				{
					try
					{
						//string sql,SQLSTR;
						double NUMSL;
						NUMSL = NPE-NTEXT*NLG;

						if ( Path =="") 
						{
							LJ = HCuppID.ToString();
						}
						else
						{
							LJ = Path.ToString() + "^" + HCuppID.ToString();
						}

						mycmd.CommandText = "insert into taa (TAAAA,TAAAB,TAAAC,TAAAD,TAAAE,TAAAF,TAAAG) values ('"+ProductID.ToString()+"','"+DeviceID+"','"+ Cuppid +"',"+NTEXT*NLG+",'"+Atime+"','"+LJ+"',0)";
						mycmd.ExecuteNonQuery();
						mycmd.CommandText ="UPDATE TAF SET TAFAB = "+NUMSL.ToString()+" WHERE TAFAA = '"+ProductID+"'"; 
						mycmd.ExecuteNonQuery();
						//MessageBOX.Text=" 交易成功!";
					}
					catch
					{
						//MessageBOX.Text=" 交易失败!";
						conn.Dispose();
						ScanData="";
						ScanSize=0;	
						return;
					}
				}

				//如果交易配额为零则向物流关键信息表插入记录的同时删除配额信息表中的该条产品记录
				if (NPE==NTEXT*NLG&&NPE!=0.0)
				{
					try
					{
						if ( Path =="") 
						{
							LJ = HCuppID.ToString();
						}
						else
						{
							LJ = Path.ToString() + "^" + HCuppID.ToString();
						}
						mycmd.CommandText="insert into taa (TAAAA,TAAAB,TAAAC,TAAAD,TAAAE,TAAAF,TAAAG) values ('"+ProductID.ToString()+"','"+DeviceID+"','"+Cuppid+"',"+NTEXT*NLG+",'"+Atime+"','"+LJ+"',0)";
						mycmd.ExecuteNonQuery();
						mycmd.CommandText="UPDATE TAF SET TAFAB = 0 WHERE TAFAA = '"+ProductID+"'";
						mycmd.ExecuteNonQuery();
					}
					catch
					{
						//MessageBOX.Text=" 交易失败!";
						conn.Dispose();
						ScanData="";
						ScanSize=0;	
						return;
					}
				}

				//判断是否新交易的事物,如果是则插入事物历史交易信息表中
				try
				{ 
					SqlText=null;
					SqlText = "SELECT * FROM TAI WHERE TAIAA = '"+ProductID+"'";
					SqlCeCommand cmd=new SqlCeCommand(SqlText,conn);
					myReader=cmd.ExecuteReader();
					if (myReader.Read())
					{
						//MessageBOX.Text=" 交易成功!";
					}
					else
					{
						mycmd.CommandText="INSERT INTO TAI (TAIAA,TAIAB) values ('"+ProductID.ToString()+"','"+TBox_ThName.Text.ToString()+"')";
						mycmd.ExecuteNonQuery();
						//MessageBOX.Text=" 交易成功!";
					}
					myReader.Close();
				}
				catch
				{
					//MessageBOX.Text=" 交易成功!";
					conn.Dispose();
					ScanData="";
					ScanSize=0;	
					return;
				}

				//------------------------------判断客户信息是否是新交易的客户----------------------------

				try
				{ 
					SqlText=null;
					SqlText = "SELECT * FROM TAH WHERE TAHAA = '"+Cuppid+"'";
					SqlCeCommand cmd=new SqlCeCommand(SqlText,conn);
					myReader=cmd.ExecuteReader();
					if (myReader.Read())
					{
						//MessageBOX.Text=" 交易成功!";
					}
					else
					{
						mycmd.CommandText="INSERT INTO TAH (TAHAA,TAHAB) values ('"+Cuppid+"','"+TBox_ClientID.Text.ToString()+"')";
						mycmd.ExecuteNonQuery();
						//MessageBOX.Text=" 交易成功!";
					}
					myReader.Close();
				}
				catch
				{
					//MessageBOX.Text=" 交易成功!";
					conn.Dispose();
					ScanData="";
					ScanSize=0;	
					return;
				}
				myTrans.Commit();
				conn.Dispose();
				ScanData="";
				ScanSize=0;
				GoNet();
				//MsgBox(rm.GetString("10009"),MsgTitle,30);
				MessageBOX.Text="交易成功!";
				//MsgBox(TBox_ThName.Text+" "+TBox_Amount.Text+TBox_Pack.Text+" 与"+TBox_ClientID.Text+rm.GetString("10009"),MsgTitle,5);
			}
			catch(Exception)
			{
				myTrans.Rollback();
				conn.Dispose();
				ScanData="";
				ScanSize=0;
			}
				/*
			finally
			{
				conn.Dispose();
				ScanData="";
				ScanSize=0;	
			}
			*/
		}
			
//----------------------ZJNET ADD (2005.8.5) 扫描过程------------------------		
		private void OpenScanner()
		{
			Application.DoEvents();
			// If scanner was already created then dispose of it.
			if (gScanner != null)
			{
				gScanner.ScannerEvent -= new ScannerEventHandler(HandleScanEvent);
				gScanner.Dispose();
				gScanner = null;
			}
			try
			{
				if (ScanMode)
				{
					gScanner = SocketScanner.ViaSocketScan();
					gScanner.ScannerEvent += new ScannerEventHandler(HandleScanEvent);
					SocketScanner.StartSocketScan(ScanMode);
				}
				else
				{
					SocketScanner.StopSocketScan();
					while (SocketScanner.IsSocketScanRunning())
						Thread.Sleep(1500);
					gScanner = SocketScanner.Direct();
					gScanner.ScannerEvent += new ScannerEventHandler(HandleScanEvent);
				}
			}
			catch (SocketScannerInUseException)
			{
				MessageBox.Show("SocketScan API in use by another application");
				Application.Exit();
			}
		}

		private void HandleScanEvent(ScannerEventArgs args)
		{

			switch (args.ScannerEventCode)
			{

				case ScannerEventCodes.VALIDDATA:

					ScanData=ScanData+args.ScannedData;//扫描数据
					ScanSize=ScanSize+args.ScannedDataSize;//扫描数据大小
					if (ScanSize==21)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -