Mysql+IIS+三层架构创建网站遇到的过程总结

2024-09-05 02:18

本文主要是介绍Mysql+IIS+三层架构创建网站遇到的过程总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.三层架构的创建

1)添加新项,添加类库:实体,业务逻辑,数据库访问,并将新创建的类库添加到网站的引用。

2)为实体类库设置属性,并设置set和get方法。

3)为数据库访问类库新建Connection和DataService类,其中Connection类中包含了数据库连接字符串成员变量以及设置方法,DataService类是数据库操作类,包含了各种数据库的操作,在DataService类库中新建类SQLHelper类,SQLHelper类实现了数据库的增删改查的基本操作。

注:SQLHelper类的函数的参数的形式,一般为要执行的sql语句,以及包含了sql语句中参数的参数值的sqlparameters数组,在SQLHelper类中的函数中,将sqlparameter数组中的参数值赋值到sql语句中的形参中构造真正的sql语句

注:sqlparameter的用法:

       1)strSql = "select * from database where id=@id"

           1.1)SqlParameter para = new SqlParameter("@id",SqlDbType.Int,10),有三个参数,@id是sql语句中的形参,形参的数据类型,长度

           1.2)SqlParameter[]  para = new SqlParameter{         new SqlParameter("@id",SqlDbType.Int,10),new SqlParameter("@name",SqlDbType.String,10).....                    }

                   para[0].Value = ...,para[1].Value = ...

       cmd.Parameter.AddRange(para);                   //为sql语句中的形参赋值

4)SQLHelper类中的函数的返回值设为DataSet或者table,然后在DataService类库从数据源中取出数据,并赋值给实体的相应属性,然后返回已经赋值过的实体。从DataSet对象中取出数据的过程:

for(int i = 0;i < ds.Table[0].Rows; ++i){//User为实体集的实例User[i].username = ds.Table[0].Row[i][2].ToString();
}                
遇到的问题:

1)Mysql服务无法启动。解决:运行MysqlInstaller,修复并重启Mysql服务

2)为项目添加了对类库的引用,却依然提示缺少using。解决:出现这种问题的原因,是因为尚未生成解决方案就直接在浏览器中查看,先生成解决方案然后再查看。若出现对代码等的修改,也要先生成解决方案再查看结果。

3)在浏览器中查看网页的时候提示错误:You have an error mysql synax。。。解决:sql语句语法错误,修改sql语句构造的

二,返回受影响的行数

SqlConnection con = new SqlConnection("连接字符串");con.Open();SqlCommand cmd = new SqlCommand("select * from Table where ..",con); SqlDataApdater da=new SqlDataApdater (cmd);DataTable dt=new DataTable();da.Fill(dt);//影响的行数int count=dt.Rows.Count;con.Close();

//

遇到的问题:

1)在查询并返回表的前n条记录的时候,一直提示sql语句语法错误。解决:Mysql和SqlServer在查询前N条记录的时候语法不相同,若是Mysql,语法不是select top n * from table

2)将查询到的数据保存到DataReader对象中后,在从DataReader对象中读取数据的时候,如果超出数据的记录数会提示错误,如select top 10 * from table但是table中只有5条记录,这样在读取数据的时候,读取到第六条的时候会报错。解决:换成DataSet对象来保存数据,DataSet对象有Rows.Count成员可以得到记录的总数

3)在讲数据库中的float类型数据取出并复制给对象的成员变量的时候,如float.parse(dataset.Tables[0].Rows[0][0].ToString())会报错,原因是若数据库中该条记录对应的该列的数据为NULL,在转换为float类型的时候会报错


这篇关于Mysql+IIS+三层架构创建网站遇到的过程总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1137689

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c