Asp.Net 小型网站的制作(一),涵盖了asp.net里面所有的基础知识
2015-09-10 16:12
696 查看
首先看一下效果图,这个是登录页面
登录窗口很简单
接下来是数据显示的窗口
下来是编辑的窗口
还有新增的窗口
还有其他的窗口,我就不多说了。
首先看一下数据库部分的操作!
在这里我写了一个连接数据库的类。
数据库连接部分的代码在Web.config文件里面写着
写在web.config里面也是为了网站搭建起来之后,对服务器数据库的改变比较方便一点,只需要改动web.config就可以,在这里呢我也将页面大小也写在了web.config里面,也是问了满足客户的需求。
对表的操作我写了一个接口IDataBaseClass.cs
在这个接口里面我写了对数据的操作的各种方法,添加删除,更新等!
在ClassTable.cs这个类里面实现了接口里面的方法!
关于数据库方面的我就不做过多的说明了,我们主要讲解这个asp.net方面的知识!
登录窗口很简单
接下来是数据显示的窗口
下来是编辑的窗口
还有新增的窗口
还有其他的窗口,我就不多说了。
首先看一下数据库部分的操作!
在这里我写了一个连接数据库的类。
using System; using System.Data; using System.Data.SqlClient; namespace BusinessRules { /// </summary> public class DB { public DB() { } string connStr = System.Web.Configuration.WebConfigurationManager.AppSettings["sqlLink"]; #region 获取查询结果,DataSet GetSqlDataSet(string sqlString) /// <summary> /// 获取查询结果。返回类型为DataSet /// sqlString 参数为查询的SQL语句 /// </summary> public DataSet GetSqlDataSet(string sqlString) { //定义返回变量 //实例化数据集DataSet,对象名为ds DataSet ds = new DataSet(); try { //实例化连接对象SqlConnection,对象名为sqlConn SqlConnection sqlConn = new SqlConnection(connStr); //用查询的SQL(sqlString)语句和连接对象sqlConn实例化数据接口SqlDataAdapter //对象名为da SqlDataAdapter da = new SqlDataAdapter(sqlString, sqlConn); //da.Fill(ds)是数据接口(SqlDataAdapter)提供的方法 //具体作用为: //打开与数据库的连接 //将查询的SQL语句发送到数据库服务器 //接受返回的查询结果 //并将结果填充到数据集对象ds中 //关闭与数据库的连接 da.Fill(ds); } catch (Exception e) { //抛出捕捉到的异常 throw (e); } //返回查询到的结果 return ds; } #endregion #region 执行增、删或改的SQL语句 int ExecuteSql(string sqlString) /// <summary> /// 执行增、删或改的SQL语句 /// 返回值为受影响的行数(记录数) /// sqlString 参数为增、删或改的SQL语句 /// </summary> public int ExecuteSql(string sqlString) { int i = 0; try { ////实例化连接对象SqlConnection,对象名为sqlConn SqlConnection sqlConn = new SqlConnection(connStr); //用查询的SQL(sqlString)语句和连接对象sqlConn实例化SqlCommand //对象名为sqlCmd SqlCommand sqlCmd = new SqlCommand(sqlString, sqlConn); //打开与数据库的连接 sqlConn.Open(); //将增、删或改的SQL语句发送到数据库服务器 //并接受返回的结果,返回的结果为受影响的行数(记录数) i = sqlCmd.ExecuteNonQuery(); //关闭与数据库的连接 sqlConn.Close(); } catch (Exception e) { Exception ee = new Exception(sqlString + e.Message); throw (ee); } return i; } #endregion } }
数据库连接部分的代码在Web.config文件里面写着
<?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细消息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <appSettings> <add key="sqlLink" value="server=59.74.109.252;database=asp.Net;uid=sa;password=123456"/> <add key="myPageSize" value="11"/> </appSettings> <connectionStrings/> <system.web> <globalization requestEncoding="GB2312" responseEncoding="GB2312"/> <compilation debug="true" targetFramework="4.0" /> </system.web> </configuration>
写在web.config里面也是为了网站搭建起来之后,对服务器数据库的改变比较方便一点,只需要改动web.config就可以,在这里呢我也将页面大小也写在了web.config里面,也是问了满足客户的需求。
对表的操作我写了一个接口IDataBaseClass.cs
using System; using System.Data; namespace BusinessRules { /// <summary> /// IDataBaseClass 的摘要说明。 /// </summary> public interface IDataBaseClass { DataTable Query(); DataTable Query(string condition); void QueryWithKey(string keyValue); int Insert(); string IsDelete(string keyValue); bool Delete(string keyValue); int DeleteWithCondition(string condition); int Update(string condition); int UpdateWithKey(string keyValue); string format(string myString); bool IsExist(string condition); string GetSqlString(string condition); } }
在这个接口里面我写了对数据的操作的各种方法,添加删除,更新等!
在ClassTable.cs这个类里面实现了接口里面的方法!
using System; using System.Text; using System.Data; namespace BusinessRules { /// <summary> /// ClassTable 的摘要说明,接口用来强制规范! /// </summary> public class ClassTable:IDataBaseClass { public ClassTable() { } string mClassID ; //班级ID string mClassName; //班级名称 string mRemark; //注释 #region 属性定义 /// <summary> /// ClassID 班级ID /// </summary> public string ClassID { get { return mClassID; } set { mClassID=value; } } /// <summary> /// ClassName 班级名称 /// </summary> public string ClassName { get { return mClassName; } set { mClassName=value; } } /// <summary> /// Remark 注释 /// </summary> public string Remark { get { return mRemark; } set { mRemark=value; } } #endregion #region 接口要求的方法 #region 无条件查询 Query() /// <summary> /// 无条件查询 /// </summary> public DataTable Query() { DataSet ds=null; try { DB db=new DB(); ds=db.GetSqlDataSet(this.GetSqlString("")); } catch(Exception e) { throw(e); } return ds.Tables[0]; } #endregion #region 有条件查询 Query(string condition) /// <summary> /// 有条件查询 /// </summary> public DataTable Query(string condition) { try { DB db=new DB(); DataSet ds=db.GetSqlDataSet(this.GetSqlString(condition)); return ds.Tables[0]; } catch(Exception e) { throw(e); } } #endregion #region 根据主键查询 QueryWithKey(string keyValue) /// <summary> /// 根据主键查询 /// </summary> public void QueryWithKey(string keyValue) { try { string cond="ClassID='"+ format(keyValue) + "'"; DB db=new DB(); DataSet ds=db.GetSqlDataSet(this.GetSqlString(cond)); if(ds.Tables[0]!=null && ds.Tables[0].Rows.Count>0) { mClassID=ds.Tables[0].Rows[0]["ClassID"].ToString(); mClassName=ds.Tables[0].Rows[0]["ClassName"].ToString(); mRemark=ds.Tables[0].Rows[0]["Remark"].ToString(); } } catch(Exception e) { throw(e); } } #endregion #region 添加一条记录 Insert() /// <summary> ///添加一条记录 /// </summary> public int Insert() { try { StringBuilder sql=new StringBuilder(); sql.Append("INSERT ClassTable"); sql.Append("(ClassID,ClassName,Remark) "); sql.Append(" VALUES("); sql.Append("'"+ format(mClassID) +"'"); sql.Append(",'"+ format(mClassName) +"'"); sql.Append(",'"+ format(mRemark) +"'"); sql.Append(")"); DB db=new DB(); return db.ExecuteSql(sql.ToString()); } catch(Exception e) { throw(e); } } #endregion #region 能否删除 string IsDelete(string keyValue) /// <summary> /// 能否删除,返回为null时,表示可以删除 /// 返回不为空,表示为不能删除的原因 /// </summary> public string IsDelete(string keyValue) { try { string temp=null; string cond=" ClassID='" + keyValue +"'"; StudentInfo myStudentInfo = new StudentInfo(); if (myStudentInfo.IsExist(cond)) { temp="在学生表中存在ClassID=" + keyValue +"的值"; } return temp; } catch(Exception e) { throw(e); } } #endregion #region 删除一条记录 boll Delete(string keyValue) /// <summary> /// 要求在调用IsDelete()后使用 /// 返回为true时,表示删除成功 /// 返回为false时,表示删除失败 /// </summary> public bool Delete(string keyValue) { try { StringBuilder sql=new StringBuilder(); sql.Append(" DELETE FROM ClassTable "); sql.Append(" WHERE ClassID='" + keyValue + "'"); DB db=new DB(); db.ExecuteSql(sql.ToString()); return true; } catch(Exception e) { throw(e); } } #endregion #region 有条件删除 int DeleteWithCondition(string condition) /// <summary> /// 返回值为删除的记录数 /// 能否删除,完全依靠程序员的判断, /// 一般用于和其他表没有约束关系的表 /// 说明:出现删除异常时并不表示一个都没有删除 /// </summary> public int DeleteWithCondition(string condition) { try { StringBuilder sql=new StringBuilder(); sql.Append("DELETE FROM ClassTable "); sql.Append("ClassName='"+ format(mClassName) + "'" ); sql.Append(",Remark='"+ format(mRemark) + "'" ); sql.Append(" WHERE " + condition); DB db=new DB(); return db.ExecuteSql(sql.ToString()); } catch(Exception e) { throw(e); } } #endregion #region 更新 Update(string condition) /// <summary> /// 更新 /// </summary> public int Update(string condition) { try { StringBuilder sql=new StringBuilder(); sql.Append("UPDATE ClassTable SET "); sql.Append("ClassName='"+ format(mClassName) + "'" ); sql.Append(",Remark='"+ format(mRemark) + "'" ); sql.Append(" WHERE " + condition); DB db=new DB(); return db.ExecuteSql(sql.ToString()); } catch(Exception e) { throw(e); } } #endregion #region 通过主键更新 UpdateWithKey(string keyValue) /// <summary> /// 通过主键更新 /// </summary> public int UpdateWithKey(string keyValue) { try { StringBuilder sql=new StringBuilder(); sql.Append("UPDATE ClassTable SET "); sql.Append("ClassName ='"+ format(mClassName) + "'" ); sql.Append(",Remark='"+ format(mRemark) + "'" ); sql.Append(" WHERE ClassID='" + keyValue + "'"); DB db=new DB(); return db.ExecuteSql(sql.ToString()); } catch(Exception e) { throw(e); } } #endregion #region 单引号的处理 format(string myString) /// <summary> /// 单引号的处理 /// </summary> public string format(string myString) { return myString.Replace("'","''"); } #endregion #region 是否存在 IsExist(string myString) /// <summary> /// 是否存在 ///返回值为true表示存在 ///返回值为false表示不存在 /// </summary> public bool IsExist(string condition) { try { StringBuilder sql=new StringBuilder(); sql.Append(" SELECT ClassID FROM ClassTable "); sql.Append(" WHERE " + condition);//表示追加的含义,,select classid from calsstable where classid DB db=new DB(); DataSet ds = new DataSet(); ds=db.GetSqlDataSet(sql.ToString()); if(ds.Tables[0]!=null && ds.Tables[0].Rows.Count>0) { return true; } else { return false; } } catch(Exception e) { throw(e); } } #endregion #region 获取查询Sql GetSqlString(string condition) /// <summary> /// 获取查询Sql /// </summary> public string GetSqlString(string condition) { try { StringBuilder sql=new StringBuilder(); sql.Append("SELECT "); sql.Append(" ClassID,ClassName,Remark "); sql.Append(" FROM ClassTable"); if(condition!="" && condition!=null) { sql.Append(" WHERE " + condition); } return sql.ToString(); } catch(Exception e) { throw(e); } } #endregion #endregion #region 自定义方法 #endregion } }
关于数据库方面的我就不做过多的说明了,我们主要讲解这个asp.net方面的知识!
相关文章推荐
- 无法向会话状态服务器发出会话状态请求请。确保 ASP.NET State Service (ASP.NET 状态服务)已启动
- asp.net文件上传解决方案(图片上传、单文件上传、多文件上传、检查文件类型)
- ASP.NET Form Authentication - Form Authentication With Directory
- ASP实例
- asp.net WebForm程序删除.designer.cs文件之后的故事
- 新装VS2015后,创建ASP.NET 5预览版模版报错问题。
- ASP语言实现对SQL SERVER数据库的操作
- asp.net中时间差的问题
- asp.net中时间差的问题
- 千万级数据分页存储过程 asp.net页面调用分页全过程
- asp防止上传图片木马原理解析
- ASP.NET操作DataTable各种方法总结(给Datatable添加行列、DataTable选择排序等)
- ASP学习笔记
- AspJpeg组件过期解决方法
- 【引用】vs2008打开aspx文件时设计界面死机的解决
- 【引用】vs2008打开aspx文件时设计界面死机的解决
- aspx的static变量
- .Net中Immutable(不可变)集合的简单介绍
- 两种添加数据到dropdownlist控件的方法_asp.net技巧
- ASP.Net MVC开发基础学习笔记(1):走向MVC模式