一个关于windows mobile的小程序源代码1,数据访问层
using System;
using System.Collections.Generic;
using System.Text;
using TSMCISMobile.DataFactory;
using System.Data;
using System.IO;
using System.Data.SqlServerCe;
using System.Collections;
namespace TSMCISMobile.DataAccess
{
///<summary>
/// 模块编号:
/// 作用:
/// 创建者:豹子
/// 创建日期:2008-4-14
/// 最后修改者:
/// 最后修改日
/// 最后修改描述:
///</summary>
class DA_LocalTable
{
#region 构造函数
public DA_LocalTable()
{
}
#endregion
#region 私有变量
private string strSQL = string.Empty;
private string Sql = string.Empty;
//private StringBuilder sbSQL = new StringBuilder();
#endregion
#region 公有变量
#endregion
#region 公开方法
/// <summary>
/// 创建收支明细表
/// </summary>
public void CreatDictTable()
{
try
{
//创建P$DEPT_DICT表
strSQL = @"CREATE TABLE P_MoneyDetailed(s_ID NVARCHAR(10),S_DataTime NVARCHAR(12),S_GETOUTFLAG NVARCHAR(8),S_GETOUTTYPE NVARCHAR(20),I_MONEYSUM NUMERIC,S_ACCOUNTS NVARCHAR(40),S_NOTE NVARCHAR(100))";
StaticAccess.CreatDictTable("P_MoneyDetailed", strSQL);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 创建礼尚往来表
/// </summary>
public void CreatInteTable()
{
try
{
//创建P$DEPT_DICT表
string SQL = @"CREATE TABLE P_Intercourse(s_ID NVARCHAR(10),S_DataTime NVARCHAR(14),S_GETOUTFLAG NVARCHAR(8),S_USERNAME NVARCHAR(12),I_REASON NVARCHAR(20),GOODSNAME NVARCHAR(20), I_MONEY NUMERIC,S_NOTE NVARCHAR(100))";
StaticAccess.CreatDictTable("P_Intercourse", SQL);
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 创建用户表
/// </summary>
public void CreatUserTable()
{
try
{
//创建P$DEPT_DICT表
string SQL = @"CREATE TABLE P_UserTable(s_ID NVARCHAR(10),S_UserName NVARCHAR(14),S_PassWord NVARCHAR(8))";
StaticAccess.CreatDictTable("P_UserTable", SQL);
}
catch (Exception ex)
{
throw (ex);
}
}
/// <summary>
/// 添加用户记录
/// </summary>
/// <param name="P_id">编号</param>
/// <param name="p_UserName">用户名</param>
/// <param name="p_PassWord">密码</param>
public void AddUser(string P_id, string p_UserName, string p_PassWord)
{
try
{
string SQL = "INSERT INTO P_UserTable(s_ID,S_UserName,S_PassWord) VALUES ('" + P_id + "','" + p_UserName + "','" + p_PassWord + "')";
StaticAccess.ExecuteNonQuery(SQL);
}
catch (Exception ex)
{
throw (ex);
}
}
/// <summary>
/// 获得用户记录
/// </summary>
/// <returns></returns>
public DataTable SelectUser()
{
try
{
string sql = "Select * from P_UserTable";
DataTable dt = StaticAccess.ReadTable(sql);
return dt;
}
catch (Exception ex)
{
throw (ex);
}
}
/// <summary>
/// 添加收支明细记录
/// </summary>
public bool AddMoneyDetil(string p_Id,
string p_DataTime,
string p_GetOutFlag,
string p_GetOutType,
string p_MoneySum,
string p_Accounte,
string p_Note)
{
try
{
Sql = @"INSERT INTO P_MoneyDetailed(s_ID,S_DataTime,s_GetOutFlag,s_GetOutType,i_MoneySum,s_Accounts,s_Note) VALUES ('" + p_Id + "','"
+ p_DataTime + "','"
+ p_GetOutFlag + "','"
+ p_GetOutType + "','"
+ p_MoneySum + "','"
+ p_Accounte + "','"
+ p_Note + "' )";
StaticAccess.ReadTable(Sql);
return true;
}
catch (Exception ex)
{
throw(ex);
//return false;
}
}
/// <summary>
/// 修改收支明细表
/// </summary>
/// <param name="p_id"></param>
/// <param name="p_DataTime"></param>
/// <param name="p_GetOutFlag"></param>
/// <param name="p_GetType"></param>
/// <param name="p_MoneySum"></param>
/// <param name="p_Accounts"></param>
/// <param name="p_Noet"></param>
/// <returns></returns>
public bool UpDataList(string p_id,
string p_DataTime,
string p_GetOutFlag,
string p_GetType,
string p_MoneySum,
string p_Accounts,
string p_Noet)
{
try
{
string sql = @"UPDATE P_MoneyDetailed Set s_ID = '" + p_id +
"',S_DataTime = '" + p_DataTime +
"',s_GetOutFlag = '" + p_GetOutFlag +
"',s_GetOutType = '" + p_GetType +
"',i_MoneySum = '" + p_MoneySum +
"',s_Accounts = '" + p_Accounts +
"',s_Note = '" + p_Noet +
"' where s_ID = '" + p_id + "'";
StaticAccess.ReadTable(sql);
return true;
}
catch (Exception ex)
{
throw(ex);
//return false;
}
}
/// <summary>
/// 删除收支明细
/// </summary>
/// <param name="p_Id"></param>
/// <returns></returns>
public bool DeleteMoneyLost(string p_Id)
{
try
{
string sql = @"DELETE FROM P_MoneyDetailed WHERE s_ID = '" + p_Id + "'";
StaticAccess.ReadTable(sql);
return true;
}
catch (Exception ex)
{
throw(ex);
}
}
/// <summary>
/// 得到收支明细表数据
/// </summary>
/// <returns></returns>
public DataTable GetMoneyList()
{
try
{
strSQL = @"SELECT * FROM P_MoneyDetailed ORDER BY S_ID";
DataTable dtbl = new DataTable();
dtbl = StaticAccess.ReadTable(strSQL);
return dtbl;
}
catch (Exception ex)
{
throw (ex);
}
}
/// <summary>
/// 得到礼尚往来表数据
/// </summary>
/// <returns></returns>
public DataTable GetMoneyInteList()
{
try
{
strSQL = @"SELECT * FROM P_Intercourse ORDER BY S_ID";
DataTable dtbl = new DataTable();
dtbl = StaticAccess.ReadTable(strSQL);
return dtbl;
}
catch (Exception ex)
{
throw (ex);
}
}
/// <summary>
/// 添加礼尚往来记录
/// </summary>
public bool AddMoneyInte(string p_Id,
string p_DataTime,
string p_GetOutFlag,
string p_UserName,
string p_Reason,
string p_GoodsName,
string p_MONEY,
string p_Note)
{
try
{
Sql = @"INSERT INTO P_Intercourse(s_ID,S_DataTime,s_GetOutFlag,S_USERNAME,I_REASON,GOODSNAME,I_MONEY,s_Note) VALUES ('" + p_Id + "','"
+ p_DataTime + "','"
+ p_GetOutFlag + "','"
+ p_UserName + "','"
+ p_Reason + "','"
+ p_GoodsName + "','"
+ p_MONEY + "','"
+ p_Note + "' )";
StaticAccess.ReadTable(Sql);
return true;
}
catch (Exception ex)
{
throw (ex);
//return false;
}
}
/// <summary>
/// 统计本月收支情况
/// </summary>
/// <returns></returns>
public ArrayList GetStatData()
{
try
{
//获取服务器时间
CommonFunc Fun = new CommonFunc();
ArrayList Ar = new ArrayList();
//DateTime DateTimeNow = Fun.GetSysDateTime();
DateTime DateTimeNow = DateTime.Now;
string DataTimeStr = DateTimeNow.ToString("yyyy-MM-dd");
string Year = DateTimeNow.Year.ToString();
string Month = DateTimeNow.Month.ToString();
int month = Convert.ToInt32(Month);
if (month < 10)
{
Month = "0" + Month;
}
string TimeStar = Year + "-" + Month + "-" + "01";
string TimeEnd = Year + "-" + Month + "-" + "31";
//查询当天的收入或支出之和
string sql1 = @"SELECT SUM(i_MoneySum) SumMoney FROM P_MoneyDetailed WHERE S_DataTime = '" + DataTimeStr + "' AND s_GetOutFlag = '收入'";
//查询当天的收入或支出之和
string sql2 = @"SELECT SUM(i_MoneySum) SumMoney FROM P_MoneyDetailed WHERE S_DataTime = '" + DataTimeStr + "' AND s_GetOutFlag = '支出'";
//查询当月的收入或支出之和
string sql3 = @"SELECT SUM(i_MoneySum) SumMoney FROM P_MoneyDetailed WHERE S_DataTime >= '" + TimeStar + "' AND S_DataTime <='" + TimeEnd + "' AND s_GetOutFlag = '收入'";
//查询当月的收入或支出之和
string sql4 = @"SELECT SUM(i_MoneySum) SumMoney FROM P_MoneyDetailed WHERE S_DataTime >= '" + TimeStar + "' AND S_DataTime <='" + TimeEnd + "' AND s_GetOutFlag = '支出'";
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
DataTable dt3 = new DataTable();
DataTable dt4 = new DataTable();
dt1 = StaticAccess.ReadTable(sql1);
dt2 = StaticAccess.ReadTable(sql2);
dt3 = StaticAccess.ReadTable(sql3);
dt4 = StaticAccess.ReadTable(sql4);
string Sum1 = dt1.Rows[0][0].ToString();
string Sum2 = dt2.Rows[0][0].ToString();
string Sum3 = dt3.Rows[0][0].ToString();
string Sum4 = dt4.Rows[0][0].ToString();
Ar.Add(Sum1);
Ar.Add(Sum2);
Ar.Add(Sum3);
Ar.Add(Sum4);
return Ar;
}
catch (Exception ex)
{
throw(ex);
}
}
/// <summary>
/// 得到按条件收支明细表数据
/// </summary>
/// <returns></returns>
public DataTable GetSelectMoney(string p_DataStar,
string p_DataEnd,
string p_GetOut,
string p_Typet,
string p_Accounte)
{
try
{
strSQL = @"SELECT * FROM P_MoneyDetailed WHERE 1 = 1 ";
if (p_DataStar != string.Empty)
{
strSQL += "AND S_DataTime >= '" + p_DataStar + "' AND S_DataTime <='" + p_DataEnd + "'";
}
if (p_GetOut != string.Empty)
{
strSQL += " AND s_GetOutFlag = '" + p_GetOut + "'";
}
if (p_Typet != string.Empty)
{
strSQL += " AND s_GetOutType = '" + p_Typet + "'";
}
if (p_Accounte != string.Empty)
{
strSQL += " AND s_Accounts = '" + p_Accounte + "'";
}
DataTable dtbl = new DataTable();
dtbl = StaticAccess.ReadTable(strSQL);
return dtbl;
}
catch (Exception ex)
{
throw (ex);
}
}
/// <summary>
/// 与Oracle数据库同步,更新本地字典表
/// </summary>
public void SyncWithOracle(DataSet p_ds)
{
//插入P$DEPT_DICT表
int i;
ClearTable("P$DEPT_DICT");
try
{
//反序列化二进制流
//DataSet ds = new DataSet();
//byte[] bDictTable = ClientGlobal.GetWebService().AddDictTable();
//MemoryStream ms = new MemoryStream(bDictTable);
//IFormatter bf = new BinaryFormatter();
//object obj = bf.Deserialize(ms);
//ds = (DataSet)obj;
//ms.Close();
DataRow myRow = null;
for (i = 0; i < p_ds.Tables[0].Rows.Count; i++)
{
strSQL = @"INSERT INTO P$DEPT_DICT
(
S_DEPTCODE,
C_DEPTTYPECODE,
S_DEPTNAME,
S_BRANCHNUM,
S_DEPTABBR,
S_FATHERDEPTCODE,
C_ABLEFLAG,
I_SORTID
)
VALUES (
?,
?,
?,
?,
?,
?,
?,
?
)";
myRow = p_ds.Tables[0].Rows[i];
SqlCeCommand mySqlCeCommand = new SqlCeCommand();
mySqlCeCommand.CommandText = strSQL;
//mySqlCeCommand.Parameters.Add("S_DEPTCODE",SqlDbType.VarChar);
if (myRow["S_DEPTCODE"] == null || myRow["S_DEPTCODE"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("S_DEPTCODE", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("S_DEPTCODE", myRow["S_DEPTCODE"].ToString());
}
if (myRow["C_DEPTTYPECODE"] == null || myRow["C_DEPTTYPECODE"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("C_DEPTTYPECODE", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("C_DEPTTYPECODE", myRow["C_DEPTTYPECODE"].ToString());
}
if (myRow["S_DEPTNAME"] == null || myRow["S_DEPTNAME"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("S_DEPTNAME", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("S_DEPTNAME", myRow["S_DEPTNAME"].ToString());
}
if (myRow["S_BRANCHNUM"] == null || myRow["S_BRANCHNUM"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("S_BRANCHNUM", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("S_BRANCHNUM", int.Parse(myRow["S_BRANCHNUM"].ToString()));
}
if (myRow["S_DEPTABBR"] == null || myRow["S_DEPTABBR"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("S_DEPTABBR", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("S_DEPTABBR", myRow["S_DEPTABBR"].ToString());
}
if (myRow["S_FATHERDEPTCODE"] == null || myRow["S_FATHERDEPTCODE"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("S_FATHERDEPTCODE", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("S_FATHERDEPTCODE", myRow["S_FATHERDEPTCODE"].ToString());
}
if (myRow["C_ABLEFLAG"] == null || myRow["C_ABLEFLAG"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("C_ABLEFLAG", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("C_ABLEFLAG", myRow["C_ABLEFLAG"].ToString());
}
if (myRow["I_SORTID"] == null || myRow["I_SORTID"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("I_SORTID", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("I_SORTID", int.Parse(myRow["I_SORTID"].ToString()));
}
StaticAccess.ExecuteNonQuery(mySqlCeCommand);
}
//插入P$DEPT_BRANCH_DICT表
ClearTable("P$DEPT_BRANCH_DICT");
for (i = 0; i < p_ds.Tables[1].Rows.Count; i++)
{
string strSQL = @"INSERT INTO P$DEPT_BRANCH_DICT
(
S_DEPTCODE,
S_BRANCHCODE,
S_BRANCHNAME,
S_BRANCHABBR,
S_BRANCHDESC,
C_ABLEFLAG,
I_SORTID
)
VALUES (
?,
?,
?,
?,
?,
?,
?
)";
myRow = p_ds.Tables[1].Rows[i];
SqlCeCommand mySqlCeCommand = new SqlCeCommand();
mySqlCeCommand.CommandText = strSQL;
if (myRow["S_DEPTCODE"] == null || myRow["S_DEPTCODE"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("S_DEPTCODE", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("S_DEPTCODE", myRow["S_DEPTCODE"].ToString());
}
if (myRow["S_BRANCHCODE"] == null || myRow["S_BRANCHCODE"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("S_BRANCHCODE", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("S_BRANCHCODE", myRow["S_BRANCHCODE"].ToString());
}
if (myRow["S_BRANCHNAME"] == null || myRow["S_BRANCHNAME"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("S_BRANCHNAME", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("S_BRANCHNAME", myRow["S_BRANCHNAME"].ToString());
}
if (myRow["S_BRANCHABBR"] == null || myRow["S_BRANCHABBR"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("S_BRANCHABBR", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("S_BRANCHABBR", myRow["S_BRANCHABBR"].ToString());
}
if (myRow["S_BRANCHDESC"] == null || myRow["S_BRANCHDESC"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("S_BRANCHDESC", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("S_BRANCHDESC", myRow["S_BRANCHDESC"].ToString());
}
if (myRow["C_ABLEFLAG"] == null || myRow["C_ABLEFLAG"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("C_ABLEFLAG", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("C_ABLEFLAG", myRow["C_ABLEFLAG"].ToString());
}
if (myRow["I_SORTID"] == null || myRow["I_SORTID"].ToString() == "")
{
mySqlCeCommand.Parameters.Add("I_SORTID", DBNull.Value);
}
else
{
mySqlCeCommand.Parameters.Add("I_SORTID", int.Parse(myRow["I_SORTID"].ToString()));
}
StaticAccess.ExecuteNonQuery(mySqlCeCommand);
}
}
catch (System.Exception E)
{
throw (E);
}
}
/// <summary>
/// 删除表
/// </summary>
private void ClearTable(string p_TableName)
{
strSQL = "DELETE FROM " + p_TableName;
StaticAccess.ExecuteNonQuery(strSQL);
}
/// <summary>
/// 添加班
/// </summary>
/// <returns></returns>
public DataTable AddShift()
{
try
{
strSQL = @"SELECT * FROM P$DEPT_DICT ORDER BY S_DEPTCODE";
DataTable dtbl = new DataTable();
dtbl = StaticAccess.ReadTable(strSQL);
return dtbl;
}
catch (Exception ex)
{
throw (ex);
}
}
/// <summary>
/// 添加组
/// </summary>
/// <returns></returns>
public DataTable AddGroup(string p_ShiftNo)
{
try
{
if (p_ShiftNo == string.Empty)
{
strSQL = @"SELECT * FROM P$DEPT_BRANCH_DICT ORDER BY S_DEPTCODE";
}
else
{
strSQL = @"SELECT * FROM P$DEPT_BRANCH_DICT WHERE S_DEPTCODE='" + p_ShiftNo + "' ORDER BY S_DEPTCODE";
}
DataTable dtbl = new DataTable();
dtbl = StaticAccess.ReadTable(strSQL);
return dtbl;
}
catch (Exception ex)
{
throw (ex);
}
}
#endregion
}
}