SQLite: sql script demo

前端之家收集整理的这篇文章主要介绍了SQLite: sql script demo前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如果有成熟的架构,如何根据数据库关系的表、视图等,进行代码生成架构?减少写代码的时间?

-- 考虑主键外键
-- 
create database geovindu;

use geovindu;

--2 
create table EnterpriseType
(
   EnterpriseTypeID INTEGER PRIMARY KEY AUTOINCREMENT,EnterpriseTypeName nvarchar(100) not null					--企业类型名称
);
insert into EnterpriseType (EnterpriseTypeName) values(N‘分公司‘);
insert into EnterpriseType (EnterpriseTypeName) values(N‘店铺‘);

select * from OperatingUser;
-- 3
drop table CompanyBranch;

create table CompanyBranch
(
    CompanyID INTEGER PRIMARY KEY AUTOINCREMENT,CompanyName nvarchar(100) not null,CompanyTypeID int not null,CompanyDate  datetime DEFAULT (datetime(‘now‘,‘localtime‘)),CompanyDesc NVARCHAR(500) null,CompanyTel varchar(100) null,CompanyFax VARCHAR(100) NULL,CompanyAddress NVARCHAR(500) NULL,FOREIGN KEY(CompanyTypeID) REFERENCES EnterpriseType(EnterpriseTypeID)
);

insert into CompanyBranch(CompanyName,CompanyTypeID,CompanyTel,CompanyFax,CompanyAddress,CompanyDesc) values(‘六福珠宝营销策划(深圳)有限公司‘,1,‘‘,‘‘);

select * from CompanyBranch

select * from EnterpriseType

drop table OperatingUser;
-- 1
create table OperatingUser
(
	UserID  INTEGER PRIMARY KEY AUTOINCREMENT,UserName nvarchar(200) not null,--用户名
	RealName NVARCHAR(50) NOT NULL,--真姓名
	UserPassword varchar(100) not null,--密码
	UserCompanyId int not null,--公司ID
	UserPasswordProblems nvarchar(100),--找回密码问题	
	UserMail varchar(100) null,--密码
	UserDate datetime DEFAULT (datetime(‘now‘,--默认日期
	FOREIGN KEY(UserCompanyId) REFERENCES CompanyBranch(CompanyID)

);

select * from OperatingUser;


--4
drop table LoginDiaryList;

CREATE TABLE LoginDiaryList
(
	LoginDiaryID INTEGER PRIMARY KEY AUTOINCREMENT,LoginDiaryUserName nvarchar(50) null,--登錄用戶名	
	LoginDiaryUserId int not null,--員工ID
	LoginDiaryBrowser varchar(50) null,--客戶端瀏覽
	LoginDiaryScreen varchar(50) null,--显示器大小
	LoginDiaryOpertor varchar(50) null,--操作系統
	LoginDiaryInput nvarchar(150) null,--輸入法
	LoginDiaryDate datetime DEFAULT (datetime(‘now‘,--日期
    FOREIGN KEY(LoginDiaryUserId) REFERENCES OperatingUser(UserID)

);

select * from LoginDiaryList;

select * from PrintWordDocumentTemplateList;

-- 5
create table PrintWordDocumentTemplateList
(
	PrintWordDocumentId INTEGER PRIMARY KEY AUTOINCREMENT,--PrintWordDocumentUid Uniqueidentifier DEFAULT(NEWID())  PRIMARY KEY,--PrintWordPayTypeUidKey Uniqueidentifier,---考核類型(試用期,年終,特別)
	--PrintWordJobTypeUidKey Uniqueidentifier,---職位類型(文職類,員工類,管理級別類等)
	PrintWordOnlyPassIs bit default(0),---通過試用期並成為正式員工
	PrintWordPlusSalaryIs bit default(0),---通過並加薪
	PrintWordPromotionIs bit default(0),---通過晉升
	PrintWordExtensionIs bit default(0),--延長試用期
	PrintWordDismissIs bit default(0),--解僱
	PrintWordDepartmentIs bit default(0),--新部門
	PrintWordDocumentName Nvarchar(100) not null,--文檔標題
	PrintWordDocumentUrl nvarchar(200) null,--文檔鏈接
	PrintWordDocumentContent nvarchar(300) null,--文檔簡要描述
	PrintWordDocumentAddDate  datetime DEFAULT (datetime(‘now‘,PrintWordDocumentByte BLOB null,PrintWordType int default(1)	 				--文檔類型 1.分公司,2.分店
	--PrintWordLetterSignature nvarchar(100) null				--信函簽名

);

-- 6
-- 客戶表Customer(需方) 名稱,工地名稱
drop table CustomerList;

CREATE TABLE CustomerList
(
	CustomerID INTEGER PRIMARY KEY AUTOINCREMENT,CustomerName NVARCHAR(200) NOT NULL,CustomerNamePin VARCHAR(500) NULL,CustomerContact NVARCHAR(50) NULL,--聯系人
	CustomerTel VARCHAR(100) NULL,-- 聯系人電話
	CustomerDate  datetime DEFAULT (datetime(‘now‘,‘localtime‘)) 
);

-- 7表單關聯人類型RelationshipsType: 指定收貨人 跟單業務員 工地驗收人 運輸人
drop table RelationshipsType;

CREATE TABLE RelationshipsType
(
	RelationshipsTypeID INTEGER PRIMARY KEY AUTOINCREMENT,RelationshipsTypeName NVARCHAR(100) NOT NULL,RelationshipsTypePin VARCHAR(500) NULL
);

insert into RelationshipsType(RelationshipsTypeName) values(‘指定收货人‘);
insert into RelationshipsType(RelationshipsTypeName) values(‘跟单业务员‘);
insert into RelationshipsType(RelationshipsTypeName) values(‘工地验收人‘);
insert into RelationshipsType(RelationshipsTypeName) values(‘运输人‘);

-- 8表單關係人錶RelationshipsPerson
drop table RelationshipsPerson;

CREATE TABLE RelationshipsPerson
(
	PersonID INTEGER PRIMARY KEY AUTOINCREMENT,PersonName NVARCHAR(100) NOT NULL,PersonNamePin VARCHAR(500) NULL,PersonTel VARCHAR(100),PersonType int NOT NULL,PersonDate datetime DEFAULT (datetime(‘now‘,FOREIGN KEY(PersonType) REFERENCES RelationshipsType(RelationshipsTypeID)
);

select * from RelationshipsPerson;



-- 9產品名稱表 ProductTypeList
drop table ProductTypeList;

CREATE TABLE ProductTypeList
(
	ProductTypeID INTEGER PRIMARY KEY AUTOINCREMENT,ProductTypeName NVARCHAR(800) NOT NULL,ProductTypePin VARCHAR(500) NULL     --字首字母
);
-- 10單位表 UnitList
drop table UnitList;

CREATE TABLE UnitList
(
	UnitID INTEGER PRIMARY KEY AUTOINCREMENT,UnitName NVARCHAR(100) NOT NULL,UnitPin VARCHAR(500) NULL
);

select * from UnitList;

delete from UnitList where UnitName=‘‘;

drop table ProductModel;
-- 产品规格
CREATE TABLE ProductModel
(
	ModelID INTEGER PRIMARY KEY AUTOINCREMENT,ModelProductTypeID INT NOT NULL,-- 产品名称ID 外键 ProductTypeList
	ModelName NVARCHAR(800) NOT NULL,ModelPin VARCHAR(500) NULL,FOREIGN KEY(ModelProductTypeID) REFERENCES ProductTypeList(ProductTypeID)
);

drop table UnitPrice;

-- 单价表
CREATE TABLE UnitPrice
(
	UnitPriceID INTEGER PRIMARY KEY AUTOINCREMENT,UnitProductTypeID INT NOT NULL,-- 产品名称ID 外键 ProductTypeList
	UnitPriceNuber DECIMAL(20,2) NOT NULL,UnitPricePin VARCHAR(500) NULL,FOREIGN KEY(UnitProductTypeID) REFERENCES ProductTypeList(ProductTypeID)
);

select * from UnitPrice;

drop table CustomerAddress;
--  客户地址表 
CREATE TABLE CustomerAddress
(
	AddressID INTEGER PRIMARY KEY AUTOINCREMENT,AddressName NVARCHAR(100) NOT NULL,AddressPin VARCHAR(500) NULL
);


-- 11級別表 LevelList
drop table LevelList;

CREATE TABLE LevelList
(
	LevelID INTEGER PRIMARY KEY AUTOINCREMENT,LevelName NVARCHAR(100) NOT NULL,LevelPin VARCHAR(500) NULL
);

select * from LevelList;

delete from LevelList where LevelName=‘‘;


-- 12工地名名稱表 建筑工地名Construction site name
drop table ConstructionNameList;

CREATE TABLE ConstructionNameList
(
	ConstructionID INTEGER PRIMARY KEY AUTOINCREMENT,ConstructionName VARCHAR(100) NOT NULL,ConstructionPin VARCHAR(500) NULL
);

select * from ConstructionNameList;

delete from ConstructionNameList where ConstructionName=‘‘;

-- 訂單產品詳情表
drop table OrderItDetails;

CREATE TABLE OrderItDetails
(
	OrderID INTEGER PRIMARY KEY AUTOINCREMENT,OrderDate datetime DEFAULT (datetime(‘now‘,-- 送货日期
	OrderWord VARCHAR(50) NULL,-- 字
	OrderNo VARCHAR(100) NULL,-- 号
	OrderCustomerId INT NOT NULL,-- 客户名稱
	OrderAddressID INT NOT NULL,-- 客户地址名稱		
	OrderPrepared INT NULL,-- 製單人
	OrderBusiness INT NULL,-- 指定收货人											
	OrderPrintDate datetime DEFAULT (datetime(‘now‘,--打單時間
	FOREIGN KEY(OrderCustomerId) REFERENCES CustomerList(CustomerID),FOREIGN KEY(OrderAddressID) REFERENCES CustomerAddress(AddressID),FOREIGN KEY(OrderPrepared) REFERENCES RelationshipsPerson(PersonID),FOREIGN KEY(OrderBusiness) REFERENCES RelationshipsPerson(PersonID)
);

-- 訂單產品詳情
drop table ProductItOrderDetails;

CREATE TABLE ProductItOrderDetails
(
    ProductDetailsId INTEGER PRIMARY KEY AUTOINCREMENT,ProductOrderId INT NOT NULL,-- 產品訂單ID  外錶OrderDetails
	ProductOrderTypeId INT NOT NULL,--產品名稱
	ProductModleId INT,--規格
	ProductUnitID INT,-- 單位
	ProductQty DECIMAL(18,2) DEFAULT(0),--數量
	ProductPriceID INT NOT NULL,--单价
	ProductMeters DECIMAL(25,--金额
	ProductDescription VARCHAR(1000) NULL,--說明
	FOREIGN KEY(ProductOrderId) REFERENCES OrderItDetails(OrderID),FOREIGN KEY(ProductOrderTypeId) REFERENCES ProductTypeList(ProductTypeID),FOREIGN KEY(ProductModleId) REFERENCES ProductModel(ModelID),FOREIGN KEY(ProductUnitID) REFERENCES UnitList(UnitID),FOREIGN KEY(ProductPriceID) REFERENCES UnitPrice(UnitPriceID)
);


-- 13打單表內容 ProductDetails
-- https://www.sqlite.org/datatype3.html
drop table OrderDetails;

CREATE TABLE OrderDetails
(
	OrderID INTEGER PRIMARY KEY AUTOINCREMENT,--日期
	OrderWord NVARCHAR(50) NULL,-- 字
	OrderNo NVARCHAR(100) NULL,--号
	OrderCustomerId int NOT NULL,--需求方
	OrderConstructionId int NOT NULL,--工地名稱   
    	--OrderProductId int NOT NULL,-- 產品訂單詳情ID  外錶ProductOrderDetails
	OrderAcceptor int NULL,-- 工地驗收人
	OrderTransportation	 INTEGER NULL,-- 運輸人
	OrderPrepared int NULL,--製單人
	OrderBusiness int NULL,-- 指定業務人
	OrderMerchandiser int NULL,--跟單業務員											
	OrderPrintDate datetime DEFAULT (datetime(‘now‘,FOREIGN KEY(OrderConstructionId) REFERENCES ConstructionNameList(ConstructionID),FOREIGN KEY(OrderAcceptor) REFERENCES RelationshipsPerson(PersonID),FOREIGN KEY(OrderTransportation) REFERENCES RelationshipsPerson(PersonID),FOREIGN KEY(OrderBusiness) REFERENCES RelationshipsPerson(PersonID),FOREIGN KEY(OrderMerchandiser) REFERENCES RelationshipsPerson(PersonID)
	
);

-- 14訂單產品詳情表 NUMERIC 
drop table ProductOrderDetails;

CREATE TABLE ProductOrderDetails
(
    ProductDetailsId INTEGER PRIMARY KEY AUTOINCREMENT,-- 產品訂單ID  外錶OrderDetails
	ProductTypeId int NOT NULL,--產品名稱規格
	ProductUnitID int NOT NULL,--數量
	ProductLevelID int NOT NULL,--級別
	ProductMeters DECIMAL(25,--米數
	ProductDescription NVARCHAR(1000) NULL,--說明
	FOREIGN KEY(ProductOrderId) REFERENCES OrderDetails(OrderID),FOREIGN KEY(ProductTypeId) REFERENCES ProductTypeList(ProductTypeID),FOREIGN KEY(ProductLevelID) REFERENCES LevelList(LevelID)	
	
);



-- 設置移動打印X,Y坐標糾正值
drop table PrintSetNumber;

CREATE TABLE PrintSetNumber
(
	PrintSetId INTEGER PRIMARY KEY AUTOINCREMENT,PrintSetX int DEFAULT(0),--com 列坐标
	PrintSetY int DEFAULT(0),-- row 行坐标
	PrintPrinter VARCHAR(200) NULL,--默认打印机名
	PrintFont VARCHAR(200) NULL default ‘宋体‘,---默认字体名
    PrintBottom boolean default(0),--底部文字是否双排 
	TitleFontSize int default(8),-- 标题字体大小
	ConFontSize int default(8),-- 内容字体大小
	HeadFontSize int default(8),--表头字体大小
	BoomFontSize int default(8)	-- 表底字体大小
);

--表的描述
drop table DataTableDesc;

CREATE TABLE DataTableDesc
(
	TableId INTEGER PRIMARY KEY AUTOINCREMENT,TableName nvahrcar(100) not null,TableDesc nvarchar(100) null
);


--列的列描述 columnName
drop table DataColumnDesc;

CREATE TABLE DataColumnDesc
(
	ColumnId INTEGER PRIMARY KEY AUTOINCREMENT,ColumnTableId int not null,ColumnName nvahrcar(100) not null,ColumnDesc nvarchar(100) null,FOREIGN KEY(ColumnTableId) REFERENCES DataTableDesc(TableId)
);

select * from DataTableDesc;

select * from DataColumnDesc;


select * from PrintSetNumber;

--视图
CREATE VIEW v_DataTableColumn as select DataColumnDesc.*,DataTableDesc.TableName,DataTableDesc.TableDesc from DataColumnDesc,DataTableDesc 
where DataTableDesc.TableId=DataColumnDesc.ColumnTableId;

CREATE VIEW v_OperatingUser as select OperatingUser.*,CompanyBranch.CompanyName,CompanyBranch.companyTel,CompanyBranch.CompanyFax,CompanyBranch.CompanyAddress from OperatingUser,CompanyBranch where OperatingUser.UserCompanyId=CompanyBranch.CompanyID


drop view v_CompanyBranch;
--公司
create view v_CompanyBranch
as
select CompanyBranch.*,EnterpriseType.EnterpriseTypeName from CompanyBranch,EnterpriseType where CompanyBranch.CompanyTypeID=EnterpriseType.EnterpriseTypeID;


select CompanyBranch.*,EnterpriseType where CompanyBranch.CompanyTypeID=EnterpriseType.EnterpriseTypeID;

select * from v_CompanyBranch;


drop view v_OperatingUser;
--用户
create view v_OperatingUser
as
select OperatingUser.*,CompanyBranch  where OperatingUser.UserCompanyId=CompanyBranch.CompanyID;

select * from v_OperatingUser;

--錶單用戶視圖

CREATE VIEW view_relationshipsPerson
AS
select RelationshipsPerson.*,RelationshipsType.RelationshipsTypeName FROM RelationshipsPerson,RelationshipsType
WHERE RelationshipsPerson.PersonType=RelationshipsType.RelationshipsTypeID; 


主、外键关联要考虑

实体类层:

using System;
using System.Collections.Generic;
using System.Text;
 using System.Drawing;

namespace Geovin.Du.Model
{
	/// <summary>
	/// ProductTypeList的实体类產品名稱表
	///生成時間2018/9/14 15:11:05
	///塗聚文(Geovin Du)
	///</summary>
	public class ProductTypeListInfo
	{
		private int _ProductTypeID;

		/// <summary>
		/// ID,主键
		/// </summary>
		public int ProductTypeID
		{
			get { return _ProductTypeID; }
			set {_ProductTypeID = value; }
		}

		private string _ProductTypeName;

		/// <summary>
		/// 产品名称
		/// </summary>
		public string ProductTypeName
		{
			get { return _ProductTypeName; }
			set {_ProductTypeName = value; }
		}

		private string _ProductTypePin;

		/// <summary>
		/// 字首字母
		/// </summary>
		public string ProductTypePin
		{
			get { return _ProductTypePin; }
			set {_ProductTypePin = value; }
		}

		private List<ProductModelInfo> _ProductModel;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键表:ProductModel产品规格,外键字段:ModelProductTypeID;
		///</summary>
		public  List<ProductModelInfo> ProductModelList 
		{
			get { return _ProductModel; }
			set {_ProductModel = value; }
		}

		private DataTable _ProductModelData;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键字段:ModelProductTypeID;
		///</summary>
		public  DataTable ProductModelData 
		{
			get { return _ProductModelData; }
			set {_ProductModelData = value; }
		}

		private DataSet _ProductModelDaset;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键字段:ModelProductTypeID;
		///</summary>
		public  DataSet ProductModelDaset 
		{
			get { return _ProductModelDaset; }
			set {_ProductModelDaset = value; }
		}

		private List<UnitPriceInfo> _UnitPrice;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键表:UnitPrice单价表,外键字段:UnitProductTypeID;
		///</summary>
		public  List<UnitPriceInfo> UnitPriceList 
		{
			get { return _UnitPrice; }
			set {_UnitPrice = value; }
		}

		private DataTable _UnitPriceData;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键字段:UnitProductTypeID;
		///</summary>
		public  DataTable UnitPriceData 
		{
			get { return _UnitPriceData; }
			set {_UnitPriceData = value; }
		}

		private DataSet _UnitPriceDaset;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键字段:UnitProductTypeID;
		///</summary>
		public  DataSet UnitPriceDaset 
		{
			get { return _UnitPriceDaset; }
			set {_UnitPriceDaset = value; }
		}

		private List<ProductItOrderDetailsInfo> _ProductItOrderDetails;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键表:ProductItOrderDetails,外键字段:ProductTypeId;
		///</summary>
		public  List<ProductItOrderDetailsInfo> ProductItOrderDetailsList 
		{
			get { return _ProductItOrderDetails; }
			set {_ProductItOrderDetails = value; }
		}

		private DataTable _ProductItOrderDetailsData;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键字段:ProductTypeId;
		///</summary>
		public  DataTable ProductItOrderDetailsData 
		{
			get { return _ProductItOrderDetailsData; }
			set {_ProductItOrderDetailsData = value; }
		}

		private DataSet _ProductItOrderDetailsDaset;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键字段:ProductTypeId;
		///</summary>
		public  DataSet ProductItOrderDetailsDaset 
		{
			get { return _ProductItOrderDetailsDaset; }
			set {_ProductItOrderDetailsDaset = value; }
		}

		private List<ProductOrderDetailsInfo> _ProductOrderDetails;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键表:ProductOrderDetails,外键字段:ProductTypeId;
		///</summary>
		public  List<ProductOrderDetailsInfo> ProductOrderDetailsList 
		{
			get { return _ProductOrderDetails; }
			set {_ProductOrderDetails = value; }
		}

		private DataTable _ProductOrderDetailsData;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键字段:ProductTypeId;
		///</summary>
		public  DataTable ProductOrderDetailsData 
		{
			get { return _ProductOrderDetailsData; }
			set {_ProductOrderDetailsData = value; }
		}

		private DataSet _ProductOrderDetailsDaset;

		/// <summary>
		/// 主表:ProductTypeList產品名稱表,外键字段:ProductTypeId;
		///</summary>
		public  DataSet ProductOrderDetailsDaset 
		{
			get { return _ProductOrderDetailsDaset; }
			set {_ProductOrderDetailsDaset = value; }
		}

		
	}
}

  

 

数据处理层:

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.sqlClient;
using System.Data.sqlite;
using System.Drawing;
using Geovin.Du.Commn;
using Geovin.Du.Model;
using Geovin.Du.Interface;

namespace Geovin.Du.sqliteDAL
{
	/// <summary>
	/// ProductItOrderDetails数据访问层
	///生成時間2018/9/14 14:36:05
	///塗聚文(Geovin Du)
	///</summary>
	public class ProductItOrderDetailsDAL : IProductItOrderDetails
	{
		///<summary>
		/// 追加记录
		///</summary>
		///<param name="ProductItOrderDetailsInfo"></param>
		///<returns></returns>
		public int InsertProductItOrderDetails(ProductItOrderDetailsInfo productItOrderDetails)
		{
			int ret = 0;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("INSERT INTO ProductItOrderDetails([ProductOrderId],[ProductTypeId],[ProductModleId],[ProductUnitID],[ProductQty],[ProductPriceID],[ProductMeters],[ProductDescription]");
				strsql.Append(") VALUES (");
				strsql.Append("@ProductOrderId,@ProductTypeId,@ProductModleId,@ProductUnitID,@ProductQty,@ProductPriceID,@ProductMeters,@ProductDescription)");
				sqliteParameter[] par = new sqliteParameter[]{
				new sqliteParameter("@ProductOrderId",DbType.Int32,4),new sqliteParameter("@ProductTypeId",new sqliteParameter("@ProductModleId",new sqliteParameter("@ProductUnitID",new sqliteParameter("@ProductQty",DbType.Decimal,8),new sqliteParameter("@ProductPriceID",new sqliteParameter("@ProductMeters",new sqliteParameter("@ProductDescription",DbType.String,1000),};
				par[0].Value = productItOrderDetails.ProductOrderId;
				par[1].Value = productItOrderDetails.ProductTypeId;
				par[2].Value = productItOrderDetails.ProductModleId;
				par[3].Value = productItOrderDetails.ProductUnitID;
				par[4].Value = productItOrderDetails.ProductQty;
				par[5].Value = productItOrderDetails.ProductPriceID;
				par[6].Value = productItOrderDetails.ProductMeters;
				par[7].Value = productItOrderDetails.ProductDescription;
				ret = sqliteHelper.Executesql(strsql.ToString(),CommandType.Text,par);
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return ret;
		}
		///<summary>
		/// 追加记录返回值
		///</summary>
		///<param name="ProductItOrderDetailsInfo"></param>
		///<returns></returns>
		public int InsertProductItOrderDetailsOutput (ProductItOrderDetailsInfo productItOrderDetails,out int productDetailsId)
		{
			int ret = 0;
			productDetailsId= 0;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("INSERT INTO ProductItOrderDetails([ProductOrderId],new sqliteParameter("@ProductDetailsId",};
				par[0].Value = productItOrderDetails.ProductOrderId;
				par[1].Value = productItOrderDetails.ProductTypeId;
				par[2].Value = productItOrderDetails.ProductModleId;
				par[3].Value = productItOrderDetails.ProductUnitID;
				par[4].Value = productItOrderDetails.ProductQty;
				par[5].Value = productItOrderDetails.ProductPriceID;
				par[6].Value = productItOrderDetails.ProductMeters;
				par[7].Value = productItOrderDetails.ProductDescription;
				//par[8].Direction = ParameterDirection.Output;
				ret = sqliteHelper.Executesql(strsql.ToString(),out productDetailsId,par);
			
				if(ret>0)
				{
				
					//productDetailsId=(int)par[8].Value;
			
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return ret;
		}
		///<summary>
		///修改记录
		///</summary>
		///<param name="ProductItOrderDetailsInfo"></param>
		///<returns></returns>
		public int UpdateProductItOrderDetails(ProductItOrderDetailsInfo productItOrderDetails)
		{
			int ret = 0;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("UPDATE ProductItOrderDetails SET ");
				strsql.Append("[ProductOrderId][email protected],");
				strsql.Append("[ProductTypeId][email protected],");
				strsql.Append("[ProductModleId][email protected],");
				strsql.Append("[ProductUnitID][email protected],");
				strsql.Append("[ProductQty][email protected],");
				strsql.Append("[ProductPriceID][email protected],");
				strsql.Append("[ProductMeters][email protected],");
				strsql.Append("[ProductDescription][email protected]");
				strsql.Append(" where ");
				strsql.Append("[ProductDetailsId][email protected]");
				sqliteParameter[] par = new sqliteParameter[]{
				new sqliteParameter("@ProductOrderId",DbType.Int32),};
				par[0].Value = productItOrderDetails.ProductOrderId;
				par[1].Value = productItOrderDetails.ProductTypeId;
				par[2].Value = productItOrderDetails.ProductModleId;
				par[3].Value = productItOrderDetails.ProductUnitID;
				par[4].Value = productItOrderDetails.ProductQty;
				par[5].Value = productItOrderDetails.ProductPriceID;
				par[6].Value = productItOrderDetails.ProductMeters;
				par[7].Value = productItOrderDetails.ProductDescription;
				par[8].Value = productItOrderDetails.ProductDetailsId;
				ret = sqliteHelper.Executesql(strsql.ToString(),par);
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return ret;
		}
		///<summary>
		/// 删除记录
		///</summary>
		///<param name="productDetailsIdInfo"></param>
		///<returns></returns>
		public bool DeleteProductItOrderDetails(int productDetailsId)
		{
			bool ret = false;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("delete from productItOrderDetails");
				strsql.Append(" where  ProductDetailsId=");
				strsql.Append("@ProductDetailsId ");
				sqliteParameter[] par = new sqliteParameter[]{
					 new sqliteParameter("@ProductDetailsId",productDetailsId)
				};
				int temp = 0 ;
				temp = sqliteHelper.Executesql(strsql.ToString(),par);
				if(temp!=0)
				{
					ret = true;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return ret;
		}
		/// <summary>
		/// 删除外键的记录,当此关联的主键表要删除记录,外键记录要删除
		/// </summary>
		/// <param name="tableId"></param>
		/// <returns></returns>
		public bool DeleteProductPriceID(int productPriceID)
		{
			bool ret = false;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("delete from ProductItOrderDetails");
				strsql.Append(" where  ProductPriceID=");
				strsql.Append("@ProductPriceID ");
				sqliteParameter[] par = new sqliteParameter[]{
				new sqliteParameter("@ProductPriceID",productPriceID)
					}
				int temp = 0;
				temp = sqliteHelper.Executesql(strsql.ToString(),par);
				if (temp != 0)
				{
					ret = true;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return ret;
			}
		/// <summary>
		/// 删除外键的记录,当此关联的主键表要删除记录,外键记录要删除
		/// </summary>
		/// <param name="tableId"></param>
		/// <returns></returns>
		public bool DeleteProductUnitID(int productUnitID)
		{
			bool ret = false;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("delete from ProductItOrderDetails");
				strsql.Append(" where  ProductUnitID=");
				strsql.Append("@ProductUnitID ");
				sqliteParameter[] par = new sqliteParameter[]{
				new sqliteParameter("@ProductUnitID",productUnitID)
					}
				int temp = 0;
				temp = sqliteHelper.Executesql(strsql.ToString(),par);
				if (temp != 0)
				{
					ret = true;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return ret;
			}
		/// <summary>
		/// 删除外键的记录,当此关联的主键表要删除记录,外键记录要删除
		/// </summary>
		/// <param name="tableId"></param>
		/// <returns></returns>
		public bool DeleteProductModleId(int productModleId)
		{
			bool ret = false;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("delete from ProductItOrderDetails");
				strsql.Append(" where  ProductModleId=");
				strsql.Append("@ProductModleId ");
				sqliteParameter[] par = new sqliteParameter[]{
				new sqliteParameter("@ProductModleId",productModleId)
					}
				int temp = 0;
				temp = sqliteHelper.Executesql(strsql.ToString(),par);
				if (temp != 0)
				{
					ret = true;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return ret;
			}
		/// <summary>
		/// 删除外键的记录,当此关联的主键表要删除记录,外键记录要删除
		/// </summary>
		/// <param name="tableId"></param>
		/// <returns></returns>
		public bool DeleteProductTypeId(int productTypeId)
		{
			bool ret = false;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("delete from ProductItOrderDetails");
				strsql.Append(" where  ProductTypeId=");
				strsql.Append("@ProductTypeId ");
				sqliteParameter[] par = new sqliteParameter[]{
				new sqliteParameter("@ProductTypeId",productTypeId)
					}
				int temp = 0;
				temp = sqliteHelper.Executesql(strsql.ToString(),par);
				if (temp != 0)
				{
					ret = true;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return ret;
			}
		/// <summary>
		/// 删除外键的记录,当此关联的主键表要删除记录,外键记录要删除
		/// </summary>
		/// <param name="tableId"></param>
		/// <returns></returns>
		public bool DeleteProductOrderId(int productOrderId)
		{
			bool ret = false;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("delete from ProductItOrderDetails");
				strsql.Append(" where  ProductOrderId=");
				strsql.Append("@ProductOrderId ");
				sqliteParameter[] par = new sqliteParameter[]{
				new sqliteParameter("@ProductOrderId",productOrderId)
					}
				int temp = 0;
				temp = sqliteHelper.Executesql(strsql.ToString(),par);
				if (temp != 0)
				{
					ret = true;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return ret;
			}
		///<summary>
		/// 查询记录
		///</summary>
		///<param name="productDetailsIdInfo"></param>
		///<returns></returns>
		public ProductItOrderDetailsInfo SelectProductItOrderDetails(int productDetailsId)
		{
			ProductItOrderDetailsInfo productItOrderDetails = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  productItOrderDetails");
				strsql.Append(" where  ProductDetailsId=");
				strsql.Append("@ProductDetailsId ");
				sqliteParameter[] par = new sqliteParameter[]{
					new sqliteParameter("@ProductDetailsId",productDetailsId)
				};
				using (sqliteDataReader reader = sqliteHelper.GetReader(strsql.ToString(),par))
				{
					if (reader.Read())
					{
						productItOrderDetails = new ProductItOrderDetailsInfo();
						productItOrderDetails.ProductDetailsId =(!object.Equals(reader["ProductDetailsId"],null))? int.Parse(reader["ProductDetailsId"].ToString()):0;
						productItOrderDetails.ProductOrderId =(!object.Equals(reader["ProductOrderId"],null))? int.Parse(reader["ProductOrderId"].ToString()):0;
						productItOrderDetails.ProductTypeId =(!object.Equals(reader["ProductTypeId"],null))? int.Parse(reader["ProductTypeId"].ToString()):0;
						productItOrderDetails.ProductModleId =(!object.Equals(reader["ProductModleId"],null))? int.Parse(reader["ProductModleId"].ToString()):0;
						productItOrderDetails.ProductUnitID =(!object.Equals(reader["ProductUnitID"],null))? int.Parse(reader["ProductUnitID"].ToString()):0;
						productItOrderDetails.ProductQty = (Decimal) reader["ProductQty"];
						productItOrderDetails.ProductPriceID =(!object.Equals(reader["ProductPriceID"],null))? int.Parse(reader["ProductPriceID"].ToString()):0;
						productItOrderDetails.ProductMeters = (Decimal) reader["ProductMeters"];
						productItOrderDetails.ProductDescription =(!object.Equals(reader["ProductDescription"],null))? (string) reader["ProductDescription"]:"";
						
					}
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return productItOrderDetails;
		}
		
		/// <summary>
		/// 查询外键ID的所有记录
		/// </summary>
		/// <param name="ProductPriceID">外键ID</param>
		/// <returns></returns>
		public List<ProductItOrderDetailsInfo> SelectListProductItOrderDetailsProductPriceID(int productPriceID)
		{
			List<ProductItOrderDetailsInfo> list = new List<ProductItOrderDetailsInfo>();
			ProductItOrderDetailsInfo productItOrderDetails = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  ProductItOrderDetails");
				strsql.Append(" where  ProductPriceID=");
				strsql.Append("@ProductPriceID ");
				sqliteParameter[] par = new sqliteParameter[]{
					new sqliteParameter("@ProductPriceID",productPriceID)
				};
				using (sqliteDataReader reader = sqliteHelper.GetReader(strsql.ToString(),par))
				{
					while (reader.Read())
					{
						productItOrderDetails = new ProductItOrderDetailsInfo();
						productItOrderDetails.ProductDetailsId =(!object.Equals(reader["ProductDetailsId"],null))? (string) reader["ProductDescription"]:"";
						list.Add(productItOrderDetails);
					}
					}
				}
				catch (sqliteException ex)
				{
					throw ex;
				}
			return list;
		}
		/// <summary>
		/// 查询外键ID的所有记录
		/// </summary>
		/// <param name="ProductPriceID">外键ID</param>
		/// <returns></returns>
		public DataTable SelectProductItOrderDetailsProductPriceID(int productPriceID)
		{
			DataTable dt = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  ProductItOrderDetails");
				strsql.Append(" where  ProductPriceID=");
				strsql.Append("@ProductPriceID ");
				sqliteParameter[] par = new sqliteParameter[]{
					new sqliteParameter("@ProductPriceID",productPriceID)
				};
				using (DataTable reader = sqliteHelper.GetTable(strsql.ToString(),par))
				{
					dt = reader;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return dt;
		}
		/// <summary>
		/// 查询外键ID的所有记录
		/// </summary>
		/// <param name="ProductUnitID">外键ID</param>
		/// <returns></returns>
		public List<ProductItOrderDetailsInfo> SelectListProductItOrderDetailsProductUnitID(int productUnitID)
		{
			List<ProductItOrderDetailsInfo> list = new List<ProductItOrderDetailsInfo>();
			ProductItOrderDetailsInfo productItOrderDetails = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  ProductItOrderDetails");
				strsql.Append(" where  ProductUnitID=");
				strsql.Append("@ProductUnitID ");
				sqliteParameter[] par = new sqliteParameter[]{
					new sqliteParameter("@ProductUnitID",productUnitID)
				};
				using (sqliteDataReader reader = sqliteHelper.GetReader(strsql.ToString(),null))? (string) reader["ProductDescription"]:"";
						list.Add(productItOrderDetails);
					}
					}
				}
				catch (sqliteException ex)
				{
					throw ex;
				}
			return list;
		}
		/// <summary>
		/// 查询外键ID的所有记录
		/// </summary>
		/// <param name="ProductUnitID">外键ID</param>
		/// <returns></returns>
		public DataTable SelectProductItOrderDetailsProductUnitID(int productUnitID)
		{
			DataTable dt = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  ProductItOrderDetails");
				strsql.Append(" where  ProductUnitID=");
				strsql.Append("@ProductUnitID ");
				sqliteParameter[] par = new sqliteParameter[]{
					new sqliteParameter("@ProductUnitID",productUnitID)
				};
				using (DataTable reader = sqliteHelper.GetTable(strsql.ToString(),par))
				{
					dt = reader;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return dt;
		}
		/// <summary>
		/// 查询外键ID的所有记录
		/// </summary>
		/// <param name="ProductModleId">外键ID</param>
		/// <returns></returns>
		public List<ProductItOrderDetailsInfo> SelectListProductItOrderDetailsProductModleId(int productModleId)
		{
			List<ProductItOrderDetailsInfo> list = new List<ProductItOrderDetailsInfo>();
			ProductItOrderDetailsInfo productItOrderDetails = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  ProductItOrderDetails");
				strsql.Append(" where  ProductModleId=");
				strsql.Append("@ProductModleId ");
				sqliteParameter[] par = new sqliteParameter[]{
					new sqliteParameter("@ProductModleId",productModleId)
				};
				using (sqliteDataReader reader = sqliteHelper.GetReader(strsql.ToString(),null))? (string) reader["ProductDescription"]:"";
						list.Add(productItOrderDetails);
					}
					}
				}
				catch (sqliteException ex)
				{
					throw ex;
				}
			return list;
		}
		/// <summary>
		/// 查询外键ID的所有记录
		/// </summary>
		/// <param name="ProductModleId">外键ID</param>
		/// <returns></returns>
		public DataTable SelectProductItOrderDetailsProductModleId(int productModleId)
		{
			DataTable dt = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  ProductItOrderDetails");
				strsql.Append(" where  ProductModleId=");
				strsql.Append("@ProductModleId ");
				sqliteParameter[] par = new sqliteParameter[]{
					new sqliteParameter("@ProductModleId",productModleId)
				};
				using (DataTable reader = sqliteHelper.GetTable(strsql.ToString(),par))
				{
					dt = reader;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return dt;
		}
		/// <summary>
		/// 查询外键ID的所有记录
		/// </summary>
		/// <param name="ProductTypeId">外键ID</param>
		/// <returns></returns>
		public List<ProductItOrderDetailsInfo> SelectListProductItOrderDetailsProductTypeId(int productTypeId)
		{
			List<ProductItOrderDetailsInfo> list = new List<ProductItOrderDetailsInfo>();
			ProductItOrderDetailsInfo productItOrderDetails = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  ProductItOrderDetails");
				strsql.Append(" where  ProductTypeId=");
				strsql.Append("@ProductTypeId ");
				sqliteParameter[] par = new sqliteParameter[]{
					new sqliteParameter("@ProductTypeId",productTypeId)
				};
				using (sqliteDataReader reader = sqliteHelper.GetReader(strsql.ToString(),null))? (string) reader["ProductDescription"]:"";
						list.Add(productItOrderDetails);
					}
					}
				}
				catch (sqliteException ex)
				{
					throw ex;
				}
			return list;
		}
		/// <summary>
		/// 查询外键ID的所有记录
		/// </summary>
		/// <param name="ProductTypeId">外键ID</param>
		/// <returns></returns>
		public DataTable SelectProductItOrderDetailsProductTypeId(int productTypeId)
		{
			DataTable dt = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  ProductItOrderDetails");
				strsql.Append(" where  ProductTypeId=");
				strsql.Append("@ProductTypeId ");
				sqliteParameter[] par = new sqliteParameter[]{
					new sqliteParameter("@ProductTypeId",productTypeId)
				};
				using (DataTable reader = sqliteHelper.GetTable(strsql.ToString(),par))
				{
					dt = reader;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return dt;
		}
		/// <summary>
		/// 查询外键ID的所有记录
		/// </summary>
		/// <param name="ProductOrderId">外键ID</param>
		/// <returns></returns>
		public List<ProductItOrderDetailsInfo> SelectListProductItOrderDetailsProductOrderId(int productOrderId)
		{
			List<ProductItOrderDetailsInfo> list = new List<ProductItOrderDetailsInfo>();
			ProductItOrderDetailsInfo productItOrderDetails = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  ProductItOrderDetails");
				strsql.Append(" where  ProductOrderId=");
				strsql.Append("@ProductOrderId ");
				sqliteParameter[] par = new sqliteParameter[]{
					new sqliteParameter("@ProductOrderId",productOrderId)
				};
				using (sqliteDataReader reader = sqliteHelper.GetReader(strsql.ToString(),null))? (string) reader["ProductDescription"]:"";
						list.Add(productItOrderDetails);
					}
					}
				}
				catch (sqliteException ex)
				{
					throw ex;
				}
			return list;
		}
		/// <summary>
		/// 查询外键ID的所有记录
		/// </summary>
		/// <param name="ProductOrderId">外键ID</param>
		/// <returns></returns>
		public DataTable SelectProductItOrderDetailsProductOrderId(int productOrderId)
		{
			DataTable dt = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  ProductItOrderDetails");
				strsql.Append(" where  ProductOrderId=");
				strsql.Append("@ProductOrderId ");
				sqliteParameter[] par = new sqliteParameter[]{
					new sqliteParameter("@ProductOrderId",productOrderId)
				};
				using (DataTable reader = sqliteHelper.GetTable(strsql.ToString(),par))
				{
					dt = reader;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return dt;
		}
		///<summary>
		/// 查询所有记录
		///</summary>
		///<returns></returns>
		public List<ProductItOrderDetailsInfo> SelectProductItOrderDetailsAll()
		{
			List<ProductItOrderDetailsInfo> list = new List<ProductItOrderDetailsInfo>();
			ProductItOrderDetailsInfo productItOrderDetails = null;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from  productItOrderDetails");
				using (sqliteDataReader reader = sqliteHelper.GetReader(strsql.ToString(),null))
				{
					while (reader.Read())
					{
						productItOrderDetails = new ProductItOrderDetailsInfo();
						productItOrderDetails.ProductDetailsId =(!object.Equals(reader["ProductDetailsId"],null))? (string) reader["ProductDescription"]:"";
						list.Add(productItOrderDetails);
						
					}
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return list;
		}
		///<summary>
		/// 查询所有记录
		///</summary>
		///<returns></returns>
		public DataTable SelectProductItOrderDetailsDataTableAll()
		{
			DataTable dt = new DataTable();
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("select * from productItOrderDetails");
				using (DataTable reader = sqliteHelper.GetTable(strsql.ToString(),null))
				{
					dt = reader;
						
					
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return dt;
		}
		///<summary>
		///sql脚本 删除多条记录
		///</summary>
		///<param name="productDetailsIdInfo"></param>
		///<returns></returns>
		public bool DeleteProductItOrderDetailsId(string productDetailsId)
		{
			bool ret = false;
			try
			{
				StringBuilder strsql = new StringBuilder();
				strsql.Append("delete from productItOrderDetails");
				strsql.Append(" where  ProductDetailsId in (");
				strsql.Append("@ProductDetailsId )");
				//sqliteParameter[] par = new sqliteParameter[]{};
				sqliteParameter par =new sqliteParameter("@ProductDetailsId",productDetailsId);
				int temp = 0 ;
				temp = sqliteHelper.Executesql(strsql.ToString(),par);
				if(temp!=0)
				{
					ret = true;
				}
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return ret;
		}
		/// <summary>
		/// sql script查询分页
		/// </summary>
		/// <param name="pageSize">每页页数</param>
		/// <param name="currentPage">当前页码</param>
		/// <param name="strWhere">查询的条件</param>
		/// <param name="filedOrder">排序字段</param>
		/// <param name="recordCount">每页的记录数</param>
		/// <returns></returns>
		public DataSet GetPageList(int pageSize,int currentPage,string strWhere,string filedOrder,out int recordCount)
		{
			int topNum = pageSize * currentPage;
			StringBuilder strsql = new StringBuilder();
			strsql.Append("select * FROM ProductItOrderDetails");
			if (strWhere.Trim() !="")
			{
				strsql.Append(" where " + strWhere);
			}
			recordCount = Convert.ToInt32(sqliteHelper.GetSingle(PagingHelper.CreateCountingsql(strsql.ToString())));
			return sqliteHelper.Query(PagingHelper.CreatePagingsql(recordCount,pageSize,currentPage,strsql.ToString(),filedOrder));
		}
		/// <summary>
		/// sql语句分页 
		/// </summary>
		/// <param name="pageSize">每页页数</param>
		/// <param name="pageIndex">当前页码</param>
		/// <param name="filedOrder">排序字段</param>
		/// <param name="recordCount">返回每页的记录数</param>
		/// <returns></returns>
		public DataSet GetPageList(int pageSize,int pageIndex,out int recordCount)
		{
			StringBuilder strsql = new StringBuilder();
			strsql.Append("select *  FROM ProductItOrderDetails");
			recordCount = Convert.ToInt32(sqliteHelper.GetSingle(PagingHelper.CreateCountingsql(strsql.ToString())));
			return sqliteHelper.Query(PagingHelper.CreatePagingsql(recordCount,pageIndex,filedOrder));
		}
		/// <summary>
		/// sql语句分页
		/// </summary>
		/// <param name="pageSize">每页页数</param>
		/// <param name="pageIndex">当前页码</param>
		/// <param name="recordCount">返回每页的记录数</param>
		/// <returns></returns>
		public DataSet GetPageList(int pageSize,out int recordCount)
		{
			string filedOrder = " order by ProductDetailsId desc";
			StringBuilder strsql = new StringBuilder();
			strsql.Append("select *  FROM ProductItOrderDetails");
			recordCount = Convert.ToInt32(sqliteHelper.GetSingle(PagingHelper.CreateCountingsql(strsql.ToString())));
			return sqliteHelper.Query(PagingHelper.CreatePagingsql(recordCount,filedOrder));
		}
		/// <summary>
		///sql脚本 模糊查询
		/// </summary>
		/// <param name="filedlist">显示字段列表</param>
		/// <param name="strkey">输入的关键字</param>
		/// <returns></returns>
		public DataTable GetDataTableProductItOrderDetailsFuzzySearch(string filedlist,string strkey)
		{
			DataTable dt = new DataTable();
			try
			{
				StringBuilder strsql = new StringBuilder();
			strsql.Append("select ");
			if (string.IsNullOrEmpty(filedlist))
			{
				strsql.Append(" * ");
			}
			else
			{
				strsql.Append(" from ProductItOrderDetails");
			}
			if (!string.IsNullOrEmpty(strkey))
			{
				strsql.Append(" where " + StringConvert.getStrWhere("ProductDescription",strkey));
			}
			dt = sqliteHelper.Query(strsql.ToString()).Tables[0];
			}
			catch (sqliteException ex)
			{
				throw ex;
			}
			return dt;
		}
		/// <summary>
		///sql脚本 是否存在该记录
		/// </summary>
		/// <param name="id"></param>
		/// <returns></returns>
		public bool Exists(int id)
		{
			StringBuilder strsql = new StringBuilder();
			strsql.Append("select count(1) from ProductItOrderDetails");
			strsql.Append(" where [email protected] ");
			sqliteParameter[] parameters = {
				new sqliteParameter("@ProductDetailsId",4)};
			parameters[0].Value = id;
			return sqliteHelper.Exists(strsql.ToString(),parameters);
		}
		/// <summary>
		/// 是否存在该记录
		/// </summary>
		/// <param name="id"></param>
		/// <returns></returns>
		public bool ExistsId(int id)
		{
			StringBuilder strsql = new StringBuilder();
			strsql.Append("select count(1) from ProductItOrderDetails");
			strsql.Append(" where [email protected] ");
			sqliteParameter[] parameters = {
				new sqliteParameter("@ProductDetailsId",10)};
			parameters[0].Value = id;
			return sqliteHelper.Exists(strsql.ToString(),parameters);
		}
		/// <summary>
		/// 检查单位名是否存在
		/// </summary>
		/// <param name="Name"></param>
		/// <returns></returns>
		public bool ExistsName(string columnName)
		{
			StringBuilder strsql = new StringBuilder();
			strsql.Append("select count(1) from ProductItOrderDetails");
			strsql.Append(" where [email protected] ");
			sqliteParameter[] parameters = {
				new sqliteParameter("@ColumnName",100)};
			parameters[0].Value = columnName;
			return sqliteHelper.Exists(strsql.ToString(),parameters);
		}
		/// <summary>
		/// 找到名称ID
		/// </summary>
		/// <param name="Name"></param>
		/// <returns></returns>
		public int GetName(string name)
		{
			int name = 0; 
			StringBuilder strsql = new StringBuilder();
			strsql.Append("select ProductDetailsId from ProductItOrderDetails");
			strsql.Append(" where [email protected] ");
			sqliteParameter[] parameters = {
				new sqliteParameter("@ColumnName",100)
		};
		parameters[0].Value = name;
		name = Convert.ToInt32(sqliteHelper.GetSingle(strsql.ToString(),parameters));
		return name;
		}
		/// <summary>
		///sql脚本 返回视图数据总数
		/// </summary>
		/// <param name="strWhere"></param>
		/// <returns></returns>
		public int GetCountView(string strWhere)
		{
			StringBuilder strsql = new StringBuilder();
			strsql.Append("select count(*) as H ");
			strsql.Append(" from ProductItOrderDetailsView");
			if (strWhere.Trim() != "")
			{
				strsql.Append(" where " + strWhere);
			}
			return Convert.ToInt32(sqliteHelper.GetSingle(strsql.ToString()));
		}
		/// <summary>
		///sql脚本 返回数据总数
		/// </summary>
		/// <param name="strWhere"></param>
		/// <returns></returns>
		public int GetCount(string strWhere)
		{
			StringBuilder strsql = new StringBuilder();
			strsql.Append("select count(*) as H ");
			strsql.Append(" from ProductItOrderDetails");
			if (strWhere.Trim() != "")
			{
				strsql.Append(" where " + strWhere);
			}
			return Convert.ToInt32(sqliteHelper.GetSingle(strsql.ToString()));
		}
		/// <summary>
		///sql脚本 修改一列数据
		/// </summary>
		/// <param name="id"></param>
		/// <param name="strValue"></param>
		/// <returns></returns>
		public int UpdateField(int Id,string fieldValue)
		{
			StringBuilder strsql = new StringBuilder();
			strsql.Append("update ProductItOrderDetails set  @fieldValue");
			strsql.Append(" where ProductDetailsId= @Id");
			sqliteParameter[] parameters = {
				new sqliteParameter("@fieldValue",DbType.String),};
			parameters[0].Value = Id;
			parameters[1].Value = fieldValue;
			return sqliteHelper.Executesql(strsql.ToString(),parameters);
		}
		/// <summary>
		///sql脚本 返回指字字段的字串
		/// </summary>
		/// <param name="id"></param>
		/// <param name="fieldName"></param>
		/// <returns></returns>
		public string GetTitle(int Id,string fieldName)
		{
			StringBuilder strsql = new StringBuilder();
			strsql.Append("select top 1 " + fieldName + " from ProductItOrderDetails");
			strsql.Append(" where ProductDetailsId=" + Id);
			string title = Convert.ToString(sqliteHelper.GetSingle(strsql.ToString()));
			if (string.IsNullOrEmpty(title))
			{
				return string.Empty;
			}
			return title;
		}
		
	}
}

  用于UI层要操作:

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using System.Drawing;
using System.Text.RegularExpressions;
using Geovin.Du.Model;
using Geovin.Du.Commn;
using Geovin.Du.BasicUI;
using Geovin.Du.BLL;

namespace Geovin.Du.CommnUI
{
	/// <summary>
	/// ProductTypeList表產品名稱表Windows窗体数据处理
	///生成時間2018/9/14 15:11:06
	///塗聚文(Geovin Du)
	///</summary>
	public class ProductTypeListControl
	{
		ProductTypeListBLL dal = new ProductTypeListBLL();
		///<summary>
		/// 追加记录
		///</summary>
		///<param name="ProductTypeList">输入参数:ProductTypeListInfo</param>
		///<returns>返回添加的记录条数</returns>
		public int Add(ProductTypeListInfo productTypeList)
		{
			return dal.InsertProductTypeList(productTypeList);
		}

		///<summary>
		/// 追加记录返回值
		///</summary>
		///<param name="ProductTypeList">输入参数:ProductTypeListInfo</param>
		///<param name="ProductTypeID">返回参数:ProductTypeID</param>
		///<returns>返回是否添加的个数</returns>
		public int AddOutput(ProductTypeListInfo productTypeList,out int productTypeID)
		{
			return dal.InsertProductTypeListOutput(productTypeList,out productTypeID);
		}

		///<summary>
		///修改记录
		///</summary>
		///<param name="ProductTypeList">输入参数:ProductTypeListInfo</param>
		///<returns>返回修改的多少记录数</returns>
		public int Edit(ProductTypeListInfo productTypeList)
		{
			return dal.UpdateProductTypeList(productTypeList);
		}

		///<summary>
		/// 删除记录
		///</summary>
		///<param name="productTypeID">输入参数:ProductTypeID</param>
		///<returns>返回删除记录条数</returns>
		public bool Del(int productTypeID)
		{
			bool isdel = dal.DeleteProductTypeList(productTypeID);
			if (isdel)
			{
				//删除关联的外键记录     
				ProductModelBLL productModelbll = new ProductModelBLL();
				productModelbll.DeleteModelProductTypeID(int.Parse(productTypeID));
				//删除关联的外键记录     
				UnitPriceBLL unitPricebll = new UnitPriceBLL();
				unitPricebll.DeleteUnitProductTypeID(int.Parse(productTypeID));
				//删除关联的外键记录     
				ProductItOrderDetailsBLL productItOrderDetailsbll = new ProductItOrderDetailsBLL();
				productItOrderDetailsbll.DeleteProductTypeId(int.Parse(productTypeID));
				//删除关联的外键记录     
				ProductOrderDetailsBLL productOrderDetailsbll = new ProductOrderDetailsBLL();
				productOrderDetailsbll.DeleteProductTypeId(int.Parse(productTypeID));
			}
			return isdel;
		}
		///<summary>
		/// 删除多条记录
		///</summary>
		///<param name="productTypeID">输入参数:ProductTypeID</param>
		///<returns>返回删除多少记录</returns>
		public bool DelId(string productTypeID)
		{
			bool isdel = dal.DeleteProductTypeListId(productTypeID);
			if (isdel)
			{
				//删除关联的外键记录,要考虑
				string[] sArray = tableId.Split(new string[] { ",","," },StringSplitOptions.RemoveEmptyEntries);
				foreach (string tid in sArray)
				{
					ProductModelBLL productModelbll = new ProductModelBLL();
					productModelbll.DeleteModelProductTypeID(int.Parse(productTypeID));
					UnitPriceBLL unitPricebll = new UnitPriceBLL();
					unitPricebll.DeleteUnitProductTypeID(int.Parse(productTypeID));
					ProductItOrderDetailsBLL productItOrderDetailsbll = new ProductItOrderDetailsBLL();
					productItOrderDetailsbll.DeleteProductTypeId(int.Parse(productTypeID));
					ProductOrderDetailsBLL productOrderDetailsbll = new ProductOrderDetailsBLL();
					productOrderDetailsbll.DeleteProductTypeId(int.Parse(productTypeID));
				}
			}
			return isdel;
		}
		///<summary>
		/// 查询记录
		///</summary>
		///<param name="productTypeID">输入参数:ProductTypeID</param>
		///<returns>返回ProductTypeListInfo</returns>
		public ProductTypeListInfo Select(int productTypeID)
		{
			DataTableDescInfo info = dal.SelectProductTypeList(productTypeID);
			//根据主键所涉涉及子表的做为外键的查询
			ProductModelBLL productModelbll = new ProductModelBLL();
			info.ProductModelData = productModelbll.SelectDataProductModelModelProductTypeID(productTypeID);
			info.ProductModelList = productModelbll.SelectListProductModelModelProductTypeID(productTypeID);
			//根据主键所涉涉及子表的做为外键的查询
			UnitPriceBLL unitPricebll = new UnitPriceBLL();
			info.UnitPriceData = unitPricebll.SelectDataUnitPriceUnitProductTypeID(productTypeID);
			info.UnitPriceList = unitPricebll.SelectListUnitPriceUnitProductTypeID(productTypeID);
			//根据主键所涉涉及子表的做为外键的查询
			ProductItOrderDetailsBLL productItOrderDetailsbll = new ProductItOrderDetailsBLL();
			info.ProductItOrderDetailsData = productItOrderDetailsbll.SelectDataProductItOrderDetailsProductTypeId(productTypeID);
			info.ProductItOrderDetailsList = productItOrderDetailsbll.SelectListProductItOrderDetailsProductTypeId(productTypeID);
			//根据主键所涉涉及子表的做为外键的查询
			ProductOrderDetailsBLL productOrderDetailsbll = new ProductOrderDetailsBLL();
			info.ProductOrderDetailsData = productOrderDetailsbll.SelectDataProductOrderDetailsProductTypeId(productTypeID);
			info.ProductOrderDetailsList = productOrderDetailsbll.SelectListProductOrderDetailsProductTypeId(productTypeID);
			return info;
		}

		
		///<summary>
		/// 查询所有记录
		///</summary>
		///<param name="productTypeID">无输入参数</param>
		///<returns>返回表所有记录(List)ProductTypeListInfo</returns>
		public List<ProductTypeListInfo> SelectAll()
		{
			return dal.SelectProductTypeListAll();
		}

		///<summary>
		/// 查询所有记录
		///</summary>
		///<param name="productTypeID">无输入参数</param>
		///<returns>返回(DataTable)ProductTypeList表所有记录</returns>
		public DataTable  SelectDataTableAll()
		{
			return dal.SelectProductTypeListDataTableAll();
		}

		/// <summary>
		/// sql script查询分页
		/// </summary>
		/// <param name="pageSize">每页页数</param>
		/// <param name="currentPage">当前页码</param>
		/// <param name="strWhere">查询的条件</param>
		/// <param name="filedOrder">排序字段</param>
		/// <param name="recordCount">每页的记录数</param>
		/// <returns></returns>
		public DataSet GetPageList(int pageSize,out int recordCount)
		{
			return dal.GetPageList(pageSize,strWhere,filedOrder,out recordCount);
		}

		/// <summary>
		/// sql script查询分页查询条件无排序
		/// </summary>
		/// <param name="pageSize">每页页数</param>
		/// <param name="currentPage">当前页码</param>
		/// <param name="recordCount">每页的记录数</param>
		/// <returns></returns>
		public DataSet GetPageList(int pageSize,out recordCount);
		}

		/// <summary>
		/// sql script查询分页无排序
		/// </summary>
		/// <param name="pageSize">每页页数</param>
		/// <param name="currentPage">当前页码</param>
		/// <param name="strWhere">查询的条件</param>
		/// <param name="recordCount">每页的记录数</param>
		/// <returns></returns>
		public DataSet GetPageList(int pageSize,out recordCount);
		}

		/// <summary>
		/// 模糊查询
		/// </summary>
		/// <param name="filedlist">显示字段列表</param>
		/// <param name="strkey">输入的关键字</param>
		/// <returns></returns>
		public DataTable GetDataTableFuzzySearch(string filedlist,string strkey)
		{
			return dal.GetDataTableProductTypeListFuzzySearch(filedlist,strkey);
		}

		/// <summary>
		/// 是否存在该记录
		/// </summary>
		/// <param name="Id"></param>
		/// <returns></returns>
		public bool Exists(int Id)
		{
			return dal.Exists(Id);
		}

		/// <summary>
		/// 是否存在该记录
		/// </summary>
		/// <param name="id"></param>
		/// <returns></returns>
		public bool ExistsId(int id)
		{
			return dal.ExistsId(id);
		}
		/// <summary>
		/// 检查单位名是否存在
		/// </summary>
		/// <param name="levelName"></param>
		/// <returns></returns>
		public bool ExistsName(string columnName)
		{
			return dal.ExistsName(columnName);
		}
		/// <summary>
		/// 找到名称ID
		/// </summary>
		/// <param name="unitName"></param>
		/// <returns></returns>
		public int GetName(string columnName)
		{
			return dal.GetName(columnName);
		}
		/// <summary>
		/// 返回数据总数
		/// </summary>
		/// <param name="strWhere">查询条件</param>
		/// <returns></returns>
		public int GetCount(string where)
		{
			return dal.GetCount(where);
		}

		/// <summary>
		/// 返回视图数据总数
		/// </summary>
		/// <param name="strWhere">查询条件</param>
		/// <returns></returns>
		public int GetCountView(string where)
		{
			return dal.GetCountView(where);
		}

		/// <summary>
		/// 更新一列数据
		/// </summary>
		/// <param name="Id"></param>
		/// <param name="strValue">字段名=值</param>
		/// <returns></returns>
		public int UpdateField(int Id,string fieldValue)
		{
			return dal.UpdateField(Id,fieldValue);
		}

		/// <summary>
		/// 返回指字字段的字串
		/// </summary>
		/// <param name="Id"></param>
		/// <param name="fieldName">字段名</param>
		/// <returns></returns>
		public string GetTitle(int Id,string fieldName)
		{
			return dal.GetTitle(Id,fieldName);
		}

		/// <summary>
		/// ComBox绑定
		/// </summary>
		/// <param name="comb"></param>
		public void SetComBox(ComboBox comb)
		{
			SetComBoxDataBinding.setComboList(comb,"id","typename",dal.SelectProductTypeListDataTableAll());
		}
		/// <summary>
		/// DataGridView绑定
		/// </summary>
		/// <param name="dataGridView1"></param>
		/// <param name="dt"></param>
		/// <param name="bindingSource1"></param>
		/// <param name="bindingNavigator1"></param>
		private void SetDataGridView(DataGridView dataGridView1,DataTable dt,BindingSource bindingSource1,BindingNavigator bindingNavigator1)
		{
			SetDataGridViewBindingSourceNavigatorAll set = new SetDataGridViewBindingSourceNavigatorAll();
			dataGridView1.DataSource = null;
			set.SetDataGridViewBindingSourceNavigatorBinds(dataGridView1,dt,bindingSource1,bindingNavigator1);
		}
		/// <summary>
		/// 
		/// </summary>
		/// <param name="dataGridView1"></param>
		/// <param name="dt"></param>
		private void SetDataGridView(DataGridView dataGridView1,DataTable dt)
		{
			dataGridView1.DataSource = null;
			dataGridView1.DataSource = dt;
		}
		/// <summary>
		/// sql 查询分页无搜条件和排序
		/// </summary>
		/// <param name="dataGridView1">DataGridView控件</param>
		/// <param name="pagerControl1">PagerControl分页控件</param>
		/// <param name="Index"></param>
		public void setBindDatasqlPage(DataGridView dataGridView1,PagerControl pagerControl1,int Index)
		{
			int Count = 0;
			pagerControl1.PageIndex = Index;
			//pagerControl1.PageSize = 20;
			dataGridView1.DataSource = dal.GetPageList(Index,pagerControl1.PageSize,out Count).Tables[0];   
			//获取并设置总记录数
			pagerControl1.RecordCount = Count;
			pagerControl1.DrawControl(Count);
		}
		/// <summary>
		/// sql 查询分页 无排序
		/// </summary>
		/// <param name="dataGridView1">DataGridView控件</param>
		/// <param name="pagerControl1">PagerControl分页控件</param>
		/// <param name="Index">当前页</param>
		/// <param name="strWhere">查询关键字</param>
		public void setBindDatasqlPage(DataGridView dataGridView1,int Index,string strWhere)
		{
			int Count = 0;
			pagerControl1.PageIndex = Index;
			//pagerControl1.PageSize = 20;
			dataGridView1.DataSource = GetPageList(Index,out Count).Tables[0];  
			//获取并设置总记录数
			pagerControl1.RecordCount = Count;
			pagerControl1.DrawControl(Count);
		}
		/// <summary>
		/// sql 查询分页
		/// </summary>
		/// <param name="dataGridView1">DataGridView控件</param>
		/// <param name="pagerControl1">PagerControl分页控件</param>
		/// <param name="Index">当前页</param>
		/// <param name="strWhere">查询关键字</param>
		/// <param name="filedOrder">排序字段名</param>
		public void setBindDatasqlPage(DataGridView dataGridView1,string filedOrder)
		{
			int Count = 0;
			pagerControl1.PageIndex = Index;
			//pagerControl1.PageSize = 20;
			dataGridView1.DataSource = GetPageList(Index,out Count).Tables[0];
			//获取并设置总记录数
			pagerControl1.RecordCount = Count;
			pagerControl1.DrawControl(Count);
		}
		/// <summary>
		/// sql 查询分页查询条件无排序
		/// </summary>
		/// <param name="dataGridView1">DataGridView控件</param>
		/// <param name="pagerControl1">PagerControl自定义分页控件</param>
		/// <param name="bindingSource1">BindingSource控件</param>
		/// <param name="bindingNavigator1">BindingNavigator控件</param>
		/// <param name="Index">当前页</param>
		public void setBindDatasqlPage(DataGridView dataGridView1,BindingNavigator bindingNavigator1,int Index)
		{
			int Count = 0;
			pagerControl1.PageIndex = Index;
			//pagerControl1.PageSize = 20;
			dataGridView1.DataSource = GetPageList(Index,out Count).Tables[0]; 
			//获取并设置总记录数
			pagerControl1.RecordCount = Count;
			pagerControl1.DrawControl(Count);     
			bindingSource1.DataSource = GetPageList(Index,out Count).Tables[0];
			bindingNavigator1.BindingSource = bindingSource1;
			dataGridView1.DataSource = bindingSource1;
		}
		/// <summary>
		/// sql 查询分页 無排序
		/// </summary>
		/// <param name="dataGridView1">DataGridView控件</param>
		/// <param name="pagerControl1">PagerControl自定义分页控件</param>
		/// <param name="bindingSource1">BindingSource控件</param>
		/// <param name="bindingNavigator1">BindingNavigator控件</param>
		/// <param name="Index">当前页</param>
		/// <param name="strWhere">查询条件关键字</param>
		public void setBindDatasqlPage(DataGridView dataGridView1,out Count);
			bindingNavigator1.BindingSource = bindingSource1;
			dataGridView1.DataSource = bindingSource1;
		}
		/// <summary>
		/// sql 查询分页 無排序
		/// </summary>
		/// <param name="dataGridView1">DataGridView控件</param>
		/// <param name="pagerControl1">PagerControl自定义分页控件</param>
		/// <param name="bindingSource1">BindingSource控件</param>
		/// <param name="bindingNavigator1">BindingNavigator控件</param>
		/// <param name="Index">当前页</param>
		/// <param name="strWhere">查询条件关键字</param>
		/// <param name="filedOrder">排序字段</param>
		public void setBindDatasqlPage(DataGridView dataGridView1,out Count).Tables[0]; 
			//获取并设置总记录数
			pagerControl1.RecordCount = Count;
			pagerControl1.DrawControl(Count);
			bindingSource1.DataSource = GetPageList(Index,out Count);
			bindingNavigator1.BindingSource = bindingSource1;
			dataGridView1.DataSource = bindingSource1;
		}
		/// <summary>
		/// DataGridView顯示語言類型
		/// </summary>
		/// <param name="dv"></param>
		/// <param name="lname"></param>
		public void setGridViewName(DataGridView dv,ChangeLanguage.LanguageName lname)
		{
			DataGridViewCellStyle date5 = new DataGridViewCellStyle();
			date5.Format = "yyyy-MM-dd HH:mm:ss";
			DataGridViewCellStyle date4 = new DataGridViewCellStyle();
			date4.Format = "yyyy-MM-dd";
			switch (lname)
			{
				case ChangeLanguage.LanguageName.GBK:
					dv.Columns["ProductTypeID"].HeaderText = "ID,主键";
					dv.Columns["ProductTypeName"].HeaderText = "产品名称";
					dv.Columns["ProductTypePin"].HeaderText = "字首字母";
					break;
				case ChangeLanguage.LanguageName.GBig:
					dv.Columns["ProductTypeID"].HeaderText = "ID,主鍵";
					dv.Columns["ProductTypeName"].HeaderText = "產品名稱";
					dv.Columns["ProductTypePin"].HeaderText = "字首字母";
					break;
				case ChangeLanguage.LanguageName.USEN:
					dv.Columns["ProductTypeID"].HeaderText = "ProductTypeID";
					dv.Columns["ProductTypeName"].HeaderText = "ProductTypeName";
					dv.Columns["ProductTypePin"].HeaderText = "ProductTypePin";
					break;
				default:
					dv.Columns["ProductTypeID"].HeaderText = "ID,主键";
					dv.Columns["ProductTypeName"].HeaderText = "产品名称";
					dv.Columns["ProductTypePin"].HeaderText = "字首字母";
					break;
			}
		}
		
	}
}

  

 

        /// <summary>
        /// MetaDataCollections MetaData集合
        /// </summary>
        /// <returns></returns>
        DataTable getSchema(string connString)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("id",typeof(int));
            dt.Columns.Add("CollectionName",typeof(string));
            dt.Columns.Add("NumberOfRestrictions",typeof(string));
            dt.Columns.Add("NumberOfIdentifierParts",typeof(string));           
            using (sqliteConnection conn = new sqliteConnection(connString))
            {
                conn.Open();
                //http://www.devart.com/dotconnect/sqlite/docs/MetaData.html
                //Catalogs,Columns,DatasourceInformation,DataTypes,ForeignKeyColumns,ForeignKeys,IndexColumns,Indexes,MetaDataCollections,PrimaryKeys,ReservedWords,Restrictions,Tables,UniqueKeys,ViewColumns,Views

                DataTable schemaTable = conn.GetSchema("MetaDataCollections");// conn.GetSchema()和conn.GetSchema("MetaDataCollections")效果是一样的
                int i = 1;
                foreach (DataRow row in schemaTable.Rows)
                {
                    dt.Rows.Add(i,row["CollectionName"],row["NumberOfRestrictions"].ToString(),row["NumberOfIdentifierParts"].ToString());
                    i++;
                }

            }
            return dt;
        }

猜你在找的Sqlite相关文章