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

📄 cefile.cs

📁 WINCE数据库sqlce 通讯stock 代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.IO;
using System.Data;
using System.Data.SqlServerCe;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;

namespace Wholesale
{
	/// <summary>
	/// CEFile 的摘要说明。
	/// </summary>
	public class CEFile
	{

		public CEFile()
		{
			//
			// TODO: 在此处添加构造函数逻辑
			//
         	
		}
		/// <summary>
		/// 将工厂信息添加到TAF表
		/// </summary>
		/// <param name="FileName"></param>
		/// <returns></returns>
		public bool AddToTAF(string FileName)
		{
			CEData data=new CEData();
			SqlCeConnection conn=null;
			conn=data.conn;
			SqlCeTransaction myTrans;
			myTrans=conn.BeginTransaction();
			SqlCeCommand mycmd=conn.CreateCommand();
			mycmd.Connection=conn;
			mycmd.Transaction=myTrans;

			StreamReader sr=new StreamReader(FileName,Encoding.GetEncoding("GB2312"));
			char[] sep=new char[]{'\n'};
			//存放表名
			string sTbName="";
			try
			{
				foreach(string s1 in sr.ReadToEnd().ToString().Split(sep))
				{
				
					//存放格式化的记录的数据
					ArrayList aRdName=new ArrayList();
					//清除记录中的数据
					aRdName.Clear();
					//读取表名
					if(s1.Substring(0,1)=="#")
					{
						sTbName=s1.Substring(1);

					}
					if(s1.Substring(0,1)=="~")
					{
						char[] sep2=new char[]{'|'};
						//读取记录中的数据
						foreach(string s2 in s1.Substring(1).Split(sep2))
						{
							aRdName.Add(s2);						
						}
						System.Collections.IEnumerator Et = aRdName.GetEnumerator();
						string sRecord1="";
						string sRecord2="";
						string sRecord3="";
						//string sRecord4="";
						//string sRecord5="";
						//string sRecord6="";
						string sql="";
						if(string.Compare(sTbName.Substring(0,3),"TAP",true)==0)
						{
							Et.Reset();
							Et.MoveNext();
							//第一个数据
							sRecord1=Et.Current.ToString();
							//???
							SubStr s=new SubStr();
							//获取产品ID
							string CPID=s.SubPack(sRecord1);

							sRecord1=sRecord1.Substring(33,17);
							Et.MoveNext();
							//第二个(数值型)
							//sRecord2=Et.Current.ToString();
							Et.MoveNext();
							//第三个
							//sRecord3=Et.Current.ToString();
							Et.MoveNext();
							//第四个
							//sRecord4=Et.Current.ToString();
							//sRecord4=sRecord4.Substring(0,sRecord4.Length-1);
							Et.MoveNext();
							//第五个
							sRecord2=Et.Current.ToString();
							if(sRecord2.CompareTo("0")==0)
								continue;
							//sRecord2=sRecord2.Substring(0,sRecord2.Length-1);
							//Et.MoveNext();
							//sRecord4=Et.Current.ToString();
							//sRecord4=sRecord4.Substring(0,sRecord4.Length-1);

							SqlCeDataReader myReader=null;
							string sNumA="0";
							
							sql="select TAEAF from TAE where TAEAA='"+sRecord1+"' and TAEAD='"+CPID+"'";
							myReader=data.ExeSQL(sql);
							while(myReader.Read())
							{
								sNumA=myReader.GetValue(0).ToString();
							}
							int iTotal=Int32.Parse(sRecord2)*Int32.Parse(sNumA);
							sRecord2=iTotal.ToString();

							sql="select TAEAD from TAE where TAEAB=TAEAC and TAEAA='"+sRecord1+"' and TAEAF=1";
							myReader=data.ExeSQL(sql);
							while(myReader.Read())
							{
								sRecord3=myReader.GetString(0);
							}
							
							//执行插入记录
							//SqlCeDataReader myReader=null;
							sql="select * from TAF where TAFAA='"+sRecord1+"' and TAFAC='"+sRecord3+"'";
							myReader=data.ExeSQL(sql);
							if(myReader.Read())
							{
								mycmd.CommandText="update TAF set TAFAB=TAFAB+"+sRecord2+" where TAFAA='"+sRecord1+"' and TAFAC='"+sRecord3+"'";
								mycmd.ExecuteNonQuery();
							}
							else
							{
								mycmd.CommandText="Insert into TAF(TAFAA,TAFAB,TAFAC) Values('"+sRecord1+"',"+sRecord2+",'"+sRecord3+"')";

								mycmd.ExecuteNonQuery();
							}				
							myReader.Close();

						}
					}
				}
				myTrans.Commit();
			}
			catch(Exception)
			{
				myTrans.Rollback();
				sr.Close();
				conn.Dispose();
				return false;

			}
			sr.Close();
			conn.Dispose();
			return true;

		}
		/// <summary>
		/// 将有表名和记录的数据插入到指定的文件位置里
		/// </summary>
		/// <param name="TableName">表名</param>
		/// <param name="FieldName">字段名</param>
		/// <param name="DestName">目标文件</param>
		public static void AddToFileA(string TableName,string FieldName,string DestName)
		{
		  
			StreamReader sr=new StreamReader(DestName,Encoding.GetEncoding("GB2312"));
			string sTemp=sr.ReadToEnd().ToString();
			sr.Close();
			FileStream fs=new FileStream(DestName,FileMode.OpenOrCreate,FileAccess.Write);
		   
			//返回找到的第一个字符的位置
			int Pos=sTemp.IndexOf(TableName);
			Pos=Pos+TableName.Length;
		   
			byte[] buf=Encoding.GetEncoding("GB2312").GetBytes(sTemp.Insert(Pos,"\r\n"+FieldName));
			fs.Write(buf,0,buf.Length);
			fs.Close();
			
		}
		/// <summary>
		/// 将指定的文件数据追加到指定文件里
		/// </summary>
		/// <param name="SourceName">源文件</param>
		/// <param name="DestName">目标文件</param>
		public void AddToFile(string SourceName,string DestName)
		{
			FileStream fs=new FileStream(DestName,FileMode.Append,FileAccess.Write);
			StreamReader sr=new StreamReader(SourceName,Encoding.GetEncoding("GB2312"));
			byte[] buf=Encoding.GetEncoding("GB2312").GetBytes(sr.ReadToEnd().ToString());
			fs.Write(buf,0,buf.Length);
			sr.Close();
			fs.Close();

		}
		/// <summary>
		/// 将指定的文件插入到指定的位置的文件里
		/// </summary>
		/// <param name="SourceFile">源文件</param>
		/// <param name="DestFile">目标文件</param>
		public void AddInFile(string SourceFile,string DestFile)
		{
			StreamReader sr=new StreamReader(SourceFile,Encoding.GetEncoding("GB2312"));
			string TableName="";
			string FieldName="";
			foreach(string s in sr.ReadToEnd().ToString().Split('\n'))
			{
				if(s.Substring(0,1)=="#")
				{
					TableName=s.Substring(0);
				}
				if(s.Substring(0,1)=="~")
				{
					FieldName=s.Substring(0);
					AddToFileA(TableName,FieldName,DestFile);
				}
			}
			sr.Close();
		}
		/// <summary>
		/// 前端补零
		/// </summary>
		/// <param name="sName">需要补零的字符串</param>
		/// <param name="i">需要补充的长度</param>
		/// <returns></returns>
		static string BC(string sName,int i)
		{
			while(sName.Length<i)
			{
				sName="0"+sName;
			}
			return sName;
		}
		//将数据库文件导出成文本文件
		public string DB2TXT()
		{
			
			string FileName="";
			string Field1="";
			string Field2="";
			string Field3="";
			string Field4="";
			string Field5="";
			string Field6="";
			string Field7="";
			string Field8="";
			string sTemp="";

			Random rd=new Random();

			//FileName=string.Concat(DateTime.Now.ToString("yyyyMMddHHmmss"),BC(rd.Next(1,999).ToString(),3),".txt");
			
			//FileName=string.Concat("\\Dout.txt");	
			do
			{
				FileName=string.Concat(DateTime.Now.ToString("yyyyMMddHHmmss"),BC(rd.Next(1,999).ToString(),3),".txt");
			}while(File.Exists(FileName));
			

			CEData data=new CEData();
			SqlCeConnection conn=null;
			conn=data.conn;
			SqlCeTransaction myTrans;
			myTrans=conn.BeginTransaction();
			SqlCeCommand mycmd=conn.CreateCommand();
			mycmd.Connection=conn;
			mycmd.Transaction=myTrans;

			
			SqlCeDataReader myReader=null;	
			//建立文件
			StreamWriter sw=File.CreateText(FileName);
			try
			{
				//写入表名
				sw.WriteLine("#T_AA");
				
				int RowCount=0;
				myReader=data.ExeSQL("select count(*) from TAA where TAAAG=0");
				myReader.Read();
				RowCount=Int32.Parse(myReader.GetValue(0).ToString());
				if(RowCount>0)
				{
					myReader=data.ExeSQL("select * from TAA where TAAAG=0");
					while(myReader.Read())
					{
						//T_AA_AA
						if(myReader.IsDBNull(1))
							Field1="";
						else
							Field1=myReader.GetString(1);
						//T_AA_AB
						if(myReader.IsDBNull(2))
							Field2="";
						else
							Field2=myReader.GetString(2);
						//T_AA_AC
				
					
						if(myReader.IsDBNull(3))
							Field3="";
						else
							Field3=myReader.GetString(3);
			
						//T_AA_AD
						Field4=myReader.GetValue(4).ToString();
						//T_AA_AE
						Field5=myReader.GetDateTime(5).ToString();
						//T_AA_AF
						if(myReader.IsDBNull(6))
							Field6="";
						else
							Field6=myReader.GetString(6);
						//T_AA_AH
						if(myReader.IsDBNull(8))
							Field7="";
						else
							Field7=myReader.GetString(8);
						//T_AA_AI
						if(myReader.IsDBNull(9))

⌨️ 快捷键说明

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