C# 编写数据库同步问题

nauhil 2011-09-14 07:32:31
A电脑和服务器的数据库结构一样
A平时和服务器不在一个局域网
在特定时间内,A和服务器在一个局域网内进行数据库新增内容的同步
A有新的数据,服务器也有新的数据

要求先将A的数据,更新到服务器,然后再将服务器的数据同步到A,保持A和服务器的数据都是相同的

这样的流程,用C#编写改如何实现?


谢谢
...全文
486 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnwin 2011-09-14
  • 打赏
  • 举报
回复
这个解决方案要依业务需求了.比如A电脑和服务器什么关系?看你的意思像是职能相同的,并不存在谁是备份的问题。像是各管理着一部分客户端数据的,因此,你就要定下更新方式,处理并发问题。比如建立时间戳,谁的最新一谁的为准。
萧炎 2011-09-14
  • 打赏
  • 举报
回复
这个LZ自己写个方法来同步就是了撒 在写一个按钮 按钮名字可以为 同步数据 单击事件里面 调用这个方法

方法主要就是 更新当前数据库 并保存 当你需要同步服务器的时候 把保存的数据拿出来同步就是了撒
TMajier 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sbwwkmyd 的回复:]

A电脑与服务器的表结构冲突怎么办?
A电脑与服务器主键冲突(主键相同内容却不同)怎么办?
A电脑与服务器的删除冲突怎么解决?如A电脑复制到服务器后被服务器删除,那么下次还要不要复制?
先给出这些解决方案,才能有下一步。
[/Quote]
这个考虑没?
showjim 2011-09-14
  • 打赏
  • 举报
回复
A电脑与服务器的表结构冲突怎么办?
A电脑与服务器主键冲突(主键相同内容却不同)怎么办?
A电脑与服务器的删除冲突怎么解决?如A电脑复制到服务器后被服务器删除,那么下次还要不要复制?
先给出这些解决方案,才能有下一步。
sdl2005lyx 2011-09-14
  • 打赏
  • 举报
回复
"A平时和服务器不在一个局域网",这个比较难搞!建议用Remoting或WCF,直接用远程对象!
freemangood 2011-09-14
  • 打赏
  • 举报
回复
哇,这个标记下,同时帮顶!
xiongxyt2 2011-09-14
  • 打赏
  • 举报
回复
用WebService较方便
WebService里面提供增删改的功能将A新增数据写入服务器
查询服务器新增数据写入A

public class SqlHelper
{
public SqlHelper()
{
//
//TODO: 在此处添加构造函数逻辑
//

}
/// <summary>
/// 连接数据库
/// </summary>
/// <param name="server"></param>
/// <param name="database"></param>
/// <param name="username"></param>
/// <param name="password"></param>
/// <returns></returns>
public static string GetConnectString(string server, string database, string username, string password)
{
return "Server=" + server + ";Database=" + database + ";UID=" + username + ";PWD=" + password;
}
}

SqlHelper sqlHelper = null;
string _ConnectionStr = String.Empty;
SqlConnection sqlConnection;
SqlCommand sqlCommand;
SqlDataAdapter sqlDataAdapter;

public Service()
{

//如果使用设计的组件,请取消注释以下行
//InitializeComponent();

_ConnectionStr = SqlHelper.GetConnectString("ch2", "GGG", "用户名", "密码");

sqlHelper = new SqlHelper();
}


public int IsExist(int CustomerID, string BarcodeNO)
{
try
{
sqlConnection = new SqlConnection(_ConnectionStr);
sqlConnection.Open();

}
catch (Exception ex)
{

return 0;
}
string sql;
sql = "select CB_ID from Tab_CustomerBarcode where CB_CustomerID=@CustomerID and CB_BarcodeNO=@BarcodeNO";
SqlCommand cmd = new SqlCommand(sql, sqlConnection);
cmd.Parameters.Add(new SqlParameter("@CustomerID", SqlDbType.Int, 4));
cmd.Parameters["@CustomerID"].Value = CustomerID;

cmd.Parameters.Add(new SqlParameter("@BarcodeNO", SqlDbType.VarChar, 50));
cmd.Parameters["@BarcodeNO"].Value = BarcodeNO;

if (cmd.ExecuteScalar() != null)//存在CustomerID和BarcodeNO同时相同,则不执行插入
{
return 1;
}
return 0;
}

[WebMethod]
public int AddGpsBarcode(int CustomerID, string BarcodeNO, int Type)
{
if (this.IsExist(CustomerID, BarcodeNO) == 1)
{
sqlConnection.Close();
return 0;//存在CustomerID和BarcodeNO同时相同,返回0
}
else
{
try
{
string sqlStr = "insert into Tab_CustomerBarcode(CB_ID,CB_CustomerID,CB_BarcodeNO,CB_Type,CB_State,CB_UpdateTime) values (@newGuid,@CustomerID,@BarcodeNO,@Type,0,@UpdateTime)";

sqlCommand = new SqlCommand(sqlStr, sqlConnection);

sqlCommand.Parameters.Add(new SqlParameter("@newGuid", SqlDbType.UniqueIdentifier, 16));
sqlCommand.Parameters["@newGuid"].Value = Guid.NewGuid();

sqlCommand.Parameters.Add(new SqlParameter("@CustomerID", SqlDbType.Int, 4));
sqlCommand.Parameters["@CustomerID"].Value = CustomerID;

sqlCommand.Parameters.Add(new SqlParameter("@BarcodeNO", SqlDbType.VarChar, 50));
sqlCommand.Parameters["@BarcodeNO"].Value = BarcodeNO;


sqlCommand.Parameters.Add(new SqlParameter("@Type", SqlDbType.Int, 4));
sqlCommand.Parameters["@Type"].Value = Type;


sqlCommand.Parameters.Add(new SqlParameter("@UpdateTime", SqlDbType.DateTime, 8));
sqlCommand.Parameters["@UpdateTime"].Value = DateTime.Now;

return sqlCommand.ExecuteNonQuery();


}
catch (Exception ex)
{
throw ex;
}
finally
{
if (sqlCommand != null)
{
sqlCommand.Dispose();
}
sqlConnection.Close();
}
}
}


[WebMethod]
public DataTable QueryGpsBarcodeByState(int CustomerID, int State, DateTime UpdateStartTime, DateTime UpdateEndTime)
{
try
{
sqlConnection = new SqlConnection(_ConnectionStr);
sqlConnection.Open();

}
catch (Exception ex)
{
throw ex;
}

try
{
DataTable dt = new DataTable();

string sqlStr = "select CB_CustomerID,CB_BarcodeNO,CB_VehicleNO,CB_Position,CB_Type,CB_State,CB_UpdateTime from Tab_CustomerBarcode where CB_CustomerID=@CustomerID and CB_UpdateTime between @UpdateStartTime and @UpdateEndTime and CB_State=@State ";

sqlCommand = new SqlCommand(sqlStr, sqlConnection);

sqlCommand.Parameters.Add(new SqlParameter("@CustomerID", SqlDbType.Int, 4));
sqlCommand.Parameters["@CustomerID"].Value = CustomerID;

sqlCommand.Parameters.Add(new SqlParameter("@State", SqlDbType.Int, 4));
sqlCommand.Parameters["@State"].Value = State;

sqlCommand.Parameters.Add(new SqlParameter("@UpdateStartTime", SqlDbType.DateTime, 8));
sqlCommand.Parameters["@UpdateStartTime"].Value = UpdateStartTime;

sqlCommand.Parameters.Add(new SqlParameter("@UpdateEndTime", SqlDbType.DateTime, 8));
sqlCommand.Parameters["@UpdateEndTime"].Value = UpdateEndTime;

sqlCommand.ExecuteNonQuery();
sqlDataAdapter = new SqlDataAdapter(sqlCommand);
sqlDataAdapter.Fill(dt);
dt.TableName = "MyTable";//否则报错---无法序列化 DataTable。未设置 DataTable 名称
return dt;


}
catch (Exception ex)
{
return null;
throw ex;
}
finally
{
sqlDataAdapter.Dispose();
sqlCommand.Dispose();
sqlConnection.Close();
}
}


[WebMethod]
public int UpdateGpsBarcodeState(int CustomerID, string BarcodeNO, int State)
{

if (this.IsExist(CustomerID, BarcodeNO) == 0)
{
sqlConnection.Close();
return 0;//不存在输入的CustomerID和BarcodeNO则返回0
}
try
{
string sqlStr = "update Tab_CustomerBarcode set CB_State=@State ,CB_UpdateTime=@UpdateTime where CB_CustomerID=@CustomerID and CB_BarcodeNO=@BarcodeNO";

sqlCommand = new SqlCommand(sqlStr, sqlConnection);

sqlCommand.Parameters.Add(new SqlParameter("@CustomerID", SqlDbType.Int, 4));
sqlCommand.Parameters["@CustomerID"].Value = CustomerID;

sqlCommand.Parameters.Add(new SqlParameter("@BarcodeNO", SqlDbType.VarChar, 50));
sqlCommand.Parameters["@BarcodeNO"].Value = BarcodeNO;
//sqlCommand.Parameters.AddWithValue(@BarcodeNO, BarcodeNO);也可(string)

sqlCommand.Parameters.Add(new SqlParameter("@State", SqlDbType.Int, 4));
sqlCommand.Parameters["@State"].Value = State;

sqlCommand.Parameters.Add(new SqlParameter("@UpdateTime", SqlDbType.DateTime, 8));
sqlCommand.Parameters["@UpdateTime"].Value = DateTime.Now;

return sqlCommand.ExecuteNonQuery();


}
catch (Exception ex)
{
throw ex;
}
finally
{
sqlCommand.Dispose();
sqlConnection.Close();
}
}
朕赐你肥皂 2011-09-14
  • 打赏
  • 举报
回复
搞个服务定时去跑,将A的更新的数据和服务器更新的数据进行交换更新
阿建像熊猫 2011-09-14
  • 打赏
  • 举报
回复
WCF也可以哦。
暖枫无敌 2011-09-14
  • 打赏
  • 举报
回复
用WinForm写一个服务程序,来同步数据据库之间的数据,但是不是在一个局域网内的话,如果数据库开启1433远程访问端口,安全性问题得不到保证,建议使用WebService来同步数据。
C#项目开发案例全程实录(第2版)光盘 内容简介   本书以家庭视频监控系统、企业短信群发系统、人事工资管理系统、企业电话客服系统、卡拉OK点歌系统、企业QQ系统、餐饮管理系统、企业人事管理系统、超市进销存销售管理系统、编程词典销售分析系统、在线考试系统和图书馆管理系统12个实际项目开发程序为案例,从软件工程的角度出发,按照项目的开发顺序,系统、全面地介绍了程序的开发流程。从开发背景、需求分析、系统功能分析、数据库分析、数据库结构、系统开发到系统的编译发行,每一过程都进行了详细的介绍。本书案例涉及行业广泛,实用性非常强,通过本书的学习,读者可以了解各个行业的特点,能够针对某一行业进行软件或网站开发,也可以通过光盘中提供的案例源代码和数据库进行二次开发,以减少开发系统所需要的时间。   本书光盘提供12个项目开发完整案例的同步教学视频,12个项目开发完整案例及其源程序,本书的服务网站还提供了内容丰富的素材库、题库、模块库、案例库和本书的答疑服务等。   本书是一本项目开发案例方面的参考书,适合有基本编程知识但还没有项目开发经验的软件开发初学者使用,尤其适合高校在校生进行毕业设计、课题设计时作参考。 图书目录   第1章 家庭视频监控系统(c# 3.5+microsoft access 2003+视频采集卡实现) 1   视频讲解:1小时1分钟   1.1 开发背景 2   1.2 系统分析 2   1.2.1 需求分析 2   1.2.2 可行性分析 2   1.2.3 编写项目计划书 3   1.3 系统设计 4   1.3.1 系统目标 4   1.3.2 系统功能结构 5   1.3.3 业务流程图 5   1.3.4 系统预览 6   1.3.5 程序运行环境 6   1.3.6 编码规范 7   1.3.7 数据库设计 9   1.3.8 文件夹组织结构 10   1.4 公共类设计 11   1.4.1 datacon类 11   1.4.2 dataoperate类 11   1.4.3 softreg类 12   .1.4.4 videooperate类 15   1.4.5 pelcod类 19   1.5 登录模块设计 21   1.5.1 登录模块概述 21   1.5.2 登录模块技术分析 22   1.5.3 登录模块实现过程 22   1.5.4 单元测试 24   1.6 视频监控模块设计 27   1.6.1 视频监控模块概述 27   1.6.2 视频监控模块技术分析 28   1.6.3 视频监控模块实现过程 30   1.6.4 单元测试 37   1.7 监控管理模块设计 37   1.7.1 监控管理模块概述 37   1.7.2 监控管理模块技术分析 37   1.7.3 监控管理模块实现过程 38   1.8 录像回放模块设计 41   1.8.1 录像回放模块概述 41   1.8.2 录像回放模块技术分析 41   1.8.3 录像回放模块实现过程 42   1.9 开发技巧与难点分析 43   1.9.1 按enter键移动鼠标焦点 43   1.9.2 使用图标显示管理员头像 43   1.9.3 云台控制协议 44   1.10 视频采集卡技术 45   1.10.1 视频采集卡选购分析 45   1.10.2 视频采集卡安装 46   1.10.3 视频采集卡中的主要函数 47   1.11 本章总结 49   第2章 企业短信群发系统(c# 3.5+microsoft access 2000+短信猫实现) 50   视频讲解:1小时13分钟   2.1 开发背景 51   2.2 需求分析 51   2.3 系统设计 51   2.3.1 系统目标 51   2.3.2 系统功能结构 52   2.3.3 系统预览 52   2.3.4 业务流程图 53   2.3.5 程序运行环境 53   2.3.6 数据库设计 54   2.3.7 文件夹组织结构 57   2.4 公共类设计 58   2.4.1 connclass类 58   2.4.2 gsm类 59   2.5 登录模块设计 60   2.5.1 登录模块概述 60   2.5.2 登录模块技术分析 61   2.5.3 登录模块实现过程 61   2.6 主窗体设计 63   2.6.1 主窗体概述 63   2.6.2 主窗体技术分析 63   2.6.3 主窗体实现过程 64   2.7 短信群发模块设计 68   2.7.1 短信群发模块概述 68   2.7.2 短信群发模块技术分析 69   2.7.3 短信群发模块实现过程 69   2.7.4 单元测试 74   2.8 短信接收模块设计 75   2.8.1 短信接收模块概述 75   2.8.2 短信接收模块技术分析 76   2.8.3 短信接收模块实现过程 76   2.8.4 单元测试 80   2.9 电话簿管理模块设计 82   2.9.1 电话簿管理模块概述 82   2.9.2 电话簿管理模块技术分析 83   2.9.3 电话簿管理模块实现过程 84   2.10 常用短语管理模块设计 86   2.10.1 常用短语管理模块概述 86   2.10.2 常用短语管理模块技术分析 87   2.10.3 常用短语管理模块实现过程 88   2.11 开发技巧与难点分析 91   2.12 短信猫技术 91   2.13 本章总结 94   第3章 人事工资管理系统(c# 3.5+microsoft sql server 2005实现) 95   视频讲解:1小时38分钟   3.1 开发背景 96   3.2 需求分析 96   3.3 系统设计 96   3.3.1 系统目标 96   3.3.2 系统功能结构 97   3.3.3 系统预览 97   3.3.4 业务流程图 99   3.3.5 编码规则 99   3.3.6 程序运行环境 100   3.3.7 数据库设计 100   3.3.8 文件夹组织结构 106   3.4 公共类设计 107   3.4.1 dbconnection公共类 107   3.4.2 dboperate公共类 108   3.5 登录模块设计 114   3.5.1 登录模块概述 114   3.5.2 登录模块技术分析 114   3.5.3 登录模块实现过程 115   3.6 主窗体设计 117   3.6.1 主窗体概述 117   3.6.2 主窗体技术分析 117   3.6.3 主窗体实现过程 118   3.6.4 单元测试 120   3.7 档案管理模块设计 121   3.7.1 档案管理窗体概述 121   3.7.2 档案管理模块技术分析 121   3.7.3 档案管理模块实现过程 122   3.7.4 单元测试 131   3.8 奖罚管理模块设计 132   3.8.1 奖罚管理窗体概述 132   3.8.2 奖罚管理窗体技术分析 133   3.8.3 奖罚管理窗体实现过程 133   3.9 开发技巧与难点分析 138   3.9.1 文本框只能输入数字 138   3.9.2 在数据库中存取图片 138   3.10 使用水晶报表显示员工信息 140   3.11 本章总结 143   第4章 企业电话客服系统(c# 3.5+microsoft access 2000+东进djd161a语音卡实现) 144   视频讲解:1小时10分钟   4.1 开发背景 145   4.2 需求分析 145   4.3 系统设计 145   4.3.1 系统目标 145   4.3.2 系统预览 146   4.3.3 系统功能结构 146   4.3.4 业务流程图 147   4.3.5 程序运行环境 147   4.3.6 数据库设计 148   4.3.7 文件夹组织结构 152   4.4 公共类设计 152   4.4.1 tbemployeeclass类 153   4.4.2 tbemployeementhod类 155   4.4.3 d160a类 161   4.5 主窗体设计 169   4.5.1 主窗体概述 169   4.5.2 主窗体技术分析 169   4.5.3 主窗体实现过程 170   4.5.4 单元测试 174   4.6 自动语音处理模块设计 175   4.6.1 自动语音处理模块概述 175   4.6.2 自动语音处理模块技术分析 175   4.6.3 自动语音处理模块实现过程 176   4.6.4 单元测试 184   4.7 员工管理模块设计 186   4.7.1 员工管理模块概述 186   4.7.2 员工管理模块技术分析 187   4.7.3 员工管理模块实现过程 188   4.8 产品类别管理模块设计 193   4.8.1 产品类别管理模块概述 193   4.8.2 产品类别管理模块技术分析 193   4.8.3 产品类别管理模块实现过程 194   4.9 开发技巧与难点分析 196   4.10 c#中调用api 197   4.11 本章总结 198   第5章 卡拉ok点歌系统(c# 3.5+microsoft access 2000实现) 199   视频讲解:1小时4分钟   5.1 开发背景 200   5.2 需求分析 200   5.3 系统设计 200   5.3.1 系统目标 200   5.3.2 系统功能结构 200   5.3.3 系统预览 201   5.3.4 业务流程图 202   5.3.5 程序运行环境 202   5.3.6 数据库设计 203   5.3.7 数据库概念设计 203   5.3.8 数据库逻辑结构设计 204   5.3.9 文件夹组织结构 205   5.4 公共类设计 206   5.4.1 getconnection类 206   5.4.2 tb_musicinfo类 207   5.4.3 tbmusicnfomenthod类 208   5.5 登录模块设计 214   5.5.1 登录模块概述 214   5.5.2 登录模块技术分析 214   5.5.3 登录模块实现过程 215   5.6 后台数据维护模块设计 216   5.6.1 后台数据维护模块概述 216   5.6.2 后台数据维护模块技术分析 217   5.6.3 后台数据维护模块实现过程 217   5.7 明星模块设计 226   5.7.1 明星模块概述 226   5.7.2 明星模块技术分析 227   5.7.3 明星模块实现过程 227   5.7.4 单元测试 233   5.8 系统点歌模块设计 234   5.8.1 系统点歌模块概述 234   5.8.2 系统点歌模块技术分析 234   5.8.3 系统点歌模块实现过程 235   5.8.4 单元测试 237   5.9 开发技巧与难点分析 239   5.10 c#中播放视频文件 240   5.11 本章总结 240   第6章 企业qq系统(c# 3.5+ microsoft sql server 2000实现) 241   视频讲解:1小时7分钟   6.1 开发背景 242   6.2 需求分析 242   6.3 系统设计 242   6.3.1 系统目标 242   6.3.2 系统功能结构 242   6.3.3 系统预览 243   6.3.4 业务流程图 244   6.3.5 程序运行环境 244   6.3.6 数据库设计 244   6.3.7 文件夹组织结构 247   6.4 类库的设计 247   6.4.1 udpsocket控件 247   6.4.2 publec_class类 251   6.4.3 classforms类 252   6.4.4 classmsg类 252   6.4.5 classoptiondata类 254   6.4.6 classserializers类 255   6.4.7 classuserinfo类 255   6.4.8 classusers类 256   6.4.9 cvideo类 256   6.5 客户端注册模块设计 258   6.5.1 客户端注册模块概述 258   6.5.2 客户端注册模块技术分析 258   6.5.3 客户端注册模块实现过程 260   6.5.4 单元测试 262   6.6 客户端登录模块设计 263   6.6.1 客户端登录模块概述 263   6.6.2 客户端登录模块技术分析 263   6.6.3 客户端登录模块实现过程 264   6.7 客户端qq模块设计 266   6.7.1 客户端qq模块概述 266   6.7.2 客户端qq模块技术分析 267   6.7.3 客户端qq模块实现过程 267   6.8 客户端消息发送模块设计 273   6.8.1 客户端消息发送模块概述 273   6.8.2 客户端消息发送模块技术分析 273   6.8.3 客户端消息发送模块实现过程 274   6.9 服务器端控制台模块设计 279   6.9.1 服务器端控制台窗体概述 279   6.9.2 服务器端控制台窗体技术分析 280   6.9.3 服务器端控制台窗体实现过程 281   6.10 开发技巧与难点分析 284   6.11 udp协议 285   6.12 本章总结 286   第7章 餐饮管理系统(c# 3.5+microsoft sql server 2000实现) 287   视频讲解:1小时31分钟   7.1 开发背景 288   7.2 需求分析 288   7.3 系统设计 288   7.3.1 系统目标 288   7.3.2 系统功能结构 288   7.3.3 系统预览 289   7.3.4 业务流程图 290   7.3.5 程序运行环境 290   7.3.6 数据库设计 290   7.3.7 数据库概念设计 291   7.3.8 数据库逻辑结构设计 293   7.3.9 文件夹组织结构 295   7.4 登录模块设计 295   7.4.1 登录模块概述 295   7.4.2 登录模块技术分析 296   7.4.3 登录模块实现过程 296   7.5 主窗体模块设计 298   7.5.1 主窗体模块概述 298   7.5.2 主窗体模块技术分析 299   7.5.3 主窗体实现过程 301   7.5.4 单元测试 307   7.6 开台模块设计 309   7.6.1 开台模块概述 309   7.6.2 开台模块技术分析 309   7.6.3 开台模块实现过程 310   7.7 点菜模块设计 312   7.7.1 点菜模块概述 312   7.7.2 点菜模块技术分析 312   7.7.3 点菜模块实现过程 313   7.7.4 单元测试 318   7.8 结账模块设计 321   7.8.1 结账模块概述 321   7.8.2 结账模块技术分析 321   7.8.3 结账模块实现过程 322   7.9 开发技巧与难点分析 325   7.10 listview控件应用 328   7.11 本章总结 334   第8章 企业人事管理系统(c# 3.5+ microsoft sql server 2005实现) 335   视频讲解:2小时9分钟   8.1 开发背景 336   8.2 需求分析 336   8.3 系统设计 336   8.3.1 系统目标 336   8.3.2 系统功能结构 336   8.3.3 系统预览 337   8.3.4 业务流程图 339   8.3.5 编码规则 339   8.3.6 程序运行环境 340   8.3.7 数据库设计 340   8.3.8 文件夹组织结构 348   8.4 公共类设计 348   8.4.1 mymeans公共类 349   8.4.2 mymodule公共类 351   8.5 登录模块设计 360   8.5.1 登录模块概述 360   8.5.2 登录模块技术分析 360   8.5.3 登录模块实现过程 361   8.6 主窗体设计 363   8.6.1 主窗体概述 363   8.6.2 主窗体技术分析 364   8.6.3 主窗体实现过程 364   8.6.4 单元测试 366   8.7 人事档案浏览模块设计 367   8.7.1 人事档案浏览窗体概述 367   8.7.2 人事档案浏览窗体技术分析 368   8.7.3 人事档案浏览窗体实现过程 369   8.7.4 单元测试 375   8.8 人事资料查询模块设计 376   8.8.1 人事资料查询窗体概述 376   8.8.2 人事资料查询窗体技术分析 376   8.8.3 人事资料查询窗体实现过程 377   8.9 开发技巧与难点分析 379   8.9.1 文本框只能输入数字或单精度 379   8.9.2 在数据库中存取图片 380   8.10 将数据以自制表格的形式插入word中 381   8.11 本章总结 383   第9章 超市进销存销售管理系统(c# 3.5+microsoft sql server 2005实现) 384   视频讲解:1小时50分钟   9.1 开发背景 385   9.2 需求分析 385   9.3 系统设计 385   9.3.1 系统目标 385   9.3.2 系统功能结构 385   9.3.3 系统预览 386   9.3.4 业务流程图 387   9.3.5 程序运行环境 387   9.3.6 数据库设计 387   9.3.7 数据库概念设计 388   9.3.8 数据库逻辑结构设计 389   9.3.9 文件夹组织结构 392   9.4 公共类设计 392   9.4.1 tb_thgoodsinfo类 392   9.4.2 getsqlconnection类 394   9.4.3 tb_thgoodsmenthod类 395   9.5 系统登录模块设计 400   9.5.1 系统登录模块概述 400   9.5.2 系统登录模块技术分析 400   9.5.3 系统登录模块实现过程 400   9.6 主窗体设计 401   9.6.1 主窗体概述 401   9.6.2 主窗体技术分析 402   9.6.3 主窗体实现过程 403   9.7 商品进货管理模块设计 406   9.7.1 商品进货管理模块概述 406   9.7.2 商品进货管理模块技术分析 407   9.7.3 商品进货管理模块实现过程 407   9.7.4 单元测试 411   9.8 商品销售管理模块设计 413   9.8.1 商品销售管理模块概述 413   9.8.2 商品销售管理模块技术分析 414   9.8.3 商品销售管理模块实现过程 414   9.8.4 单元测试 419   9.9 库存管理模块设计 420   9.9.1 库存管理模块概述 420   9.9.2 库存管理模块技术分析 421   9.9.3 库存管理模块实现过程 422   9.10 开发技巧与难点分析 424   9.11 treeview控件应用 425   9.12 本章总结 427   第10章 编程词典销售分析系统(c# 3.5+microsoft sql server 2000实现) 428   视频讲解:1小时28分钟   10.1 开发背景 429   10.2 需求分析 429   10.3 系统设计 429   10.3.1 系统目标 429   10.3.2 系统功能结构 429   10.3.3 系统预览 431   10.3.4 业务流程图 433   10.3.5 编码规则 434   10.3.6 程序运行环境 434   10.3.7 数据库设计 434   10.3.8 文件夹组织结构 444   10.4 公共类设计 444   10.4.1 datalogic公共类 445   10.4.2 useful公共类 450   10.5 产品大类模块设计 453   10.5.1 产品大类模块概述 453   10.5.2 产品大类模块技术分析 454   10.5.3 产品大类模块实现过程 454   10.5.4 单元测试 458   10.6 代理登记模块设计 459   10.6.1 代理登记模块概述 459   10.6.2 代理登记模块技术分析 460   10.6.3 代理登记模块实现过程 461   10.7 订货单模块设计 466   10.7.1 订货单模块概述 466   10.7.2 订货单模块技术分析 467   10.7.3 订货单模块实现过程 467   10.8 权限分配模块设计 473   10.8.1 权限分配模块概述 473   10.8.2 权限分配模块技术分析 474   10.8.3 权限分配模块实现过程 475   10.9 开发技巧与难点分析 478   10.9.1 在textbox中仅输入非负十进制数 478   10.9.2 清空datagridview中的数据 478   10.10 控件绑定数据源技术 479   10.11 本章总结 481   第11章 在线考试系统(c# 3.5+microsoft sql server 2000实现) 482   视频讲解:1小时58分钟   11.1 开发背景 483   11.2 系统分析 483   11.2.1 需求分析 483   11.2.2 系统功能描述 483   11.2.3 可行性分析 483   11.2.4 编写项目计划书 484   11.3 系统设计 486   11.3.1 系统目标 486   11.3.2 系统功能结构 486   11.3.3 系统预览 487   11.3.4 业务流程图 488   11.3.5 程序运行环境 489   11.3.6 数据库设计 489   11.3.7 数据库概念设计 489   11.3.8 数据库逻辑结构设计 490   11.3.9 文件夹组织结构 492   11.4 公共类设计 493   11.5 登录模块设计 495   11.5.1 登录模块概述 495   11.5.2 登录模块技术分析 495   11.5.3 登录模块实现过程 496   11.6 随机抽取试题模块设计 497   11.6.1 随机抽取试题模块概述 497   11.6.2 随机抽取试题模块技术分析 498   11.6.3 随机抽取试题模块实现过程 499   11.6.4 单元测试 502   11.7 自动评分模块设计 503   11.7.1 自动评分模块概述 503   11.7.2 自动评分模块技术分析 503   11.7.3 自动评分模块实现过程 504   11.8 试题管理模块设计 505   11.8.1 试题管理模块概述 505   11.8.2 试题管理模块技术分析 505   11.8.3 试题管理模块实现过程 507   11.8.4 单元测试 512   11.9 后台管理员模块设计 513   11.9.1 后台管理员模块概述 513   11.9.2 后台管理员模块技术分析 514   11.9.3 后台管理员模块实现过程 514   11.10 开发技巧与难点分析 526   11.11 gridview控件应用 527   11.12 本章总结 531   第12章 图书馆管理系统(asp net 3.5+microsoft sql server 2005实现) 532   视频讲解:1小时22分钟   12.1 开发背景 533   12.2 需求分析 533   12.3 系统设计 533   12.3.1 系统目标 533   12.3.2 系统功能结构 534   12.3.3 系统流程图 534   12.3.4 系统预览 535   12.3.5 构建开发环境 536   12.3.6 数据库设计 536   12.3.7 网站文件组织结构 541   12.4 公共类设计 541   12.4.1 database类 542   12.4.2 adminmanage类 547   12.4.3 operatorclass类 551   12.4.4 validateclass类 552   12.5 主页面设计 553   12.5.1 主页面概述 553   12.5.2 主页面技术分析 554   12.5.3 主页面实现过程 557   12.5.4 单元测试 561   12.6 图书馆信息模块设计 562   12.6.1 图书馆信息模块概述 562   12.6.2 图书馆信息模块技术分析 563   12.6.3 图书馆信息模块实现过程 564   12.7 图书信息管理模块设计 566   12.7.1 图书信息管理模块概述 566   12.7.2 图书信息管理模块技术分析 568   12.7.3 图书信息管理模块实现过程 568   12.8 图书借还管理模块设计 573   12.8.1 图书借还管理模块概述 573   12.8.2 图书借还管理模块技术分析 574   12.8.3 图书借还管理模块实现过程 575   12.8.4 单元测试 581   12.9 开发技巧与难点分析 581   12.9.1 如何验证输入字符串 581   12.9.2 如何自动计算图书归还日期 582   12.10 网站编译与发布 582   12.10.1 网站编译 583   12.10.2 网站发布 586   12.11 三层架构开发技术 589   12.11.1 什么是三层架构 589   12.11.2 为什么使用三层架构 590   12.11.3 使用三层架构开发的优点 591   12.11.4 三层架构的种类 591   12.12 本章总结 593

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧