看看这个,希望有用:
http://www.microsoft.com/china/msdn/library/dndotnet/html/DesignNetApp.asp
http://www.microsoft.com/china/msdn/library/dndotnet/html/DesignNetApp.asp
解决方案 »
- 关于将Parameter添加到数据库的问题
- c#接口调用时,验证信息错误,该怎么在soapheader里传用户名密码呢?
- 求.net后台设置网站的标题title,keywords方法
- winform中的textbox可以输入的字符串长度是不是有限制?能够调整为无限长,或者用其它的控件?
- Socket
- 请教大家,像QQ和MSN中界面的贴图,在拉伸或最大化后怎么能保证背景图片和界面联动和一部分保持不动!谢谢
- 如何创建封装控件的DLL,以供主窗体程序调用?
- 急!!C# 调用c的DLL时提示“尝试读取或写入受保护内存...”
- 如何关闭父窗体??
- c#串口读取数据,处理数据及发送数据问题
- 在文件中查找字符串!
- EXCEL文件的打开和保存问题?实现就给分!
web service
SqlConnection sqlConn=new SqlConnection(GetConnStr());
SqlDataAdapter sqlDataAdapter=new SqlDataAdapter(SqlCmd,sqlConn); dataTable=new DataTable();
try{
sqlConn.Open();
sqlDataAdapter.Fill(dataTable); }
catch(System.Exception ex){
throw ex;
}
finally{
sqlConn.Close();
}
}
public void UpdateDBFromTable(String cmdString,ref DataTable dataTable){
SqlConnection sqlConn=new SqlConnection(connString);
SqlDataAdapter sqlDataAdapter;
SqlCommandBuilder cmdBuilder;
SqlTransaction tran=null;
SqlCommand cmd;
try{
sqlConn.Open();
tran=sqlConn.BeginTransaction();
cmd=new SqlCommand(cmdString,sqlConn);
sqlDataAdapter=new SqlDataAdapter(cmd);
cmdBuilder=new SqlCommandBuilder(sqlDataAdapter);
cmd.Transaction=tran;
DataTable dtAdded=dataTable.GetChanges(DataRowState.Added);
if(dtAdded!=null)sqlDataAdapter.Update(dtAdded);
DataTable dtModified=dataTable.GetChanges(DataRowState.Modified);
if(dtModified!=null)sqlDataAdapter.Update(dtModified);
DataTable dtDeleted=dataTable.GetChanges(DataRowState.Deleted);
if(dtDeleted!=null)sqlDataAdapter.Update(dtDeleted); tran.Commit();
}
catch(System.Exception ex){
tran.Rollback();
throw ex;
}
finally{
sqlConn.Close();
}
}
public void ExecuteNonQuery(String cmd){
SqlConnection sqlConn=new SqlConnection(connString);
try{
sqlConn.Open();
SqlCommand sqlCmd=new SqlCommand(cmd,sqlConn);
sqlCmd.ExecuteNonQuery();
}
catch(System.Exception ex){
throw(ex);
}
finally{
sqlConn.Close();
}
}
public void ExecuteNonQuery(String cmd,ref SqlConnection sqlConn,ref sqlTransaction tran){
if(sqlConn==null){
sqlConn=new SqlConnection(connString);
sqlConn.Open();
}
if(tran==null)tran=sqlConn.BeginTransaction();
try{
SqlCommand sqlCmd=new SqlCommand(cmd,sqlConn,tran);
sqlCmd.ExecuteNonQuery();
}
catch(System.Exception ex){
if(tran!=null)tran.Rollback();
sqlConn.Close();
throw ex;
}
}
这是一个简单的数据服务层例子,业务逻辑层可以通过这些方法访问数据库,完全不用处理事务、连接等问题