百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

C#知识|账号管理系统:使用带参数的SQL语句编程添加账号的方法。

yuyutoo 2024-10-24 17:53 8 浏览 0 评论

哈喽,你好啊,我是雷工!

前边学习了登录窗体的实现,接下来接着学习使用带参数的SQL语句编程添加账号的方法。

以下为学习笔记。

01 非带参数方法

在DAL数据访问层编写AccountServer.cs类代码。

按照前面的练习,写法如下:

public int AddAccount(Account account)
{
 //定义SQL语句
 string sql = "insert into Account(AccountName,AccountContent,originality,TypeId)";
 sql += #34;values('{account.AccountName}','{account.AccountContent}','{account.originality}','{account.TypeId}')";
 //执行SQL语句
 return SQLHelper.Update(sql);
}

该写法存在两个问题:

问题1:单引号使用起来比较麻烦;

问题2:该写法存在注入式攻击的风险;

为解决注入式攻击问题,微软有两个解决方案:

方案1:使用带参数的SQL语句;

方案2:使用存储过程方式;

02 使用带参数语句

接下来将上述方法的写法修改为带参数的SQL语句写法;

方法代码为:

public int AddAccount(Account account)
{
 //定义SQL语句
 string sql = "insert into Account(AccountName,AccountContent,originality,TypeId)";
 sql += "values(@AccountName,@AccountContent,@originality,@TypeId)";
 //封装SQL语句中的参数
 SqlParameter[] param = new SqlParameter[]
 {
new SqlParameter("@AccountName",account.AccountName),
new SqlParameter("@AccountContent",account.AccountContent),
new SqlParameter("@originality",account.originality),
new SqlParameter("@TypeId",account.TypeId),
 };
 //执行带参数的SQL语句
 return SQLHelper.Update(sql,param);
}

使用该写法需要调整下通用数据访问类SQLHelper中Update的写法。

03 优化Update方法

由于上边使用带参数的SQL语句编程,添加了数组参数param,所以优化思路是在原方法的基础上增加SqlParameter[]param参数,

且为了兼容无该参数的也能使用该方法,给该参数赋值null,

然后在方法内进行if判断即可。

优化后的方法代码如下:

/// <summary>
/// 执行增删改操作
/// </summary>
/// <param name="sql">普通sql语句或带参数的SQL语句</param>
/// <param name="param">参数数组</param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public static int Update(string sql, SqlParameter[]param=null)
{
 SqlConnection conn = new SqlConnection(connString);
 SqlCommand cmd = new SqlCommand(sql,conn);
 if(param!=null)
 {
cmd.Parameters.Add(param);
 }
 try
 {
conn.Open();
return cmd.ExecuteNonQuery();
 }
 catch (Exception ex)
 {
//可以在这个地方捕获ex对象的相关信息,然后保存到日志文件中
throw new Exception("执行public static int Update(string sql)发生异常:" + ex.Message);
 }
 finally
 {
conn.Close();
 }
}

04 后记

以上就是使用带参数的SQL语句编写添加账号的方法的学习笔记,该方法实用性强,

且考虑了SQL语句防注入攻击的风险,实际项目中可直接复制使用。

接下来学习账号管理系统,添加账号功能UI层的内容,有感兴趣的C#爱好者可以围观,一起学习进步。

相关推荐

怎么制作网站

制作网站主要包括四个步骤:1、规划网站:在开始制作网站之前,需要先进行规划,如定义目标用户、搭建合适的内容体系、设计出有效的导航体系以及找出正确的信息流方向。2、网站原型设计:将头部、尾部以及中间内容...

如何设计和编码制作个人网站?

许多开发人员认为擅长设计是一种天生的能力,而创造力是与生俱来的。但是设计是一项可以像其他任何东西一样学习的技能。你不必天生就可以创建一个漂亮的网站的艺术家,这需要实践。在身边的小伙伴的博客,自己的网站...

网站开发制作流程步骤及每个步骤的重要性#网站开发制作

网站开发制作流程步骤概述。网站开发是一个综合性的过程,需要经过多个步骤来完成。以下是网站开发制作流程的一般步骤:·1.需求分析。这是网站开发的第一步。开发团队与客户一起讨论和了解网站的目标、功能和要求...

企业网站建设流程:制作网站的基本步骤

企业网站建设流程:制作网站的基本步骤...

网站如何设计制作?基本步骤是什么?

网站如何设计制作?基本步骤是什么?在现在这个时代想了解一家公司一般都是通过网上搜索来进行了解,所以拥有一个网站更利于树立自己企业的形象,也可以让客户主动来了解自己,下面就和买买提科技一起来看看网站设计...

怎样制作一个优秀的网站?

想制作网站的朋友们是不是觉得一头雾水,因为网站建设和网络营销这块的学问太深了,自己又摸不着头脑,提供建站服务的公司又跟你说的云里雾里的,不知道到底应该怎么做,下面晟思小编就简单跟大家聊聊网站建设应该注...

2023年网站制作步骤流程详细介绍

2023年网站制作步骤流程详细介绍第一步:明确目标和需求在开始网站制作之前,我们需要明确我们的目标和需求。这包括确定网站的用途(是用于宣传产品还是提供在线购物等功能)、目标受众、内容等。只有明确了目标...

网站设计的基本流程是什么 ,网站制作的基本流程有哪些

网站设计的基本流程是什么,网站制作的基本流程有哪些...

UP主赶紧收藏 超简单的在线动画制作方法

现在视频网站火的不要不要的,不过它的门槛也不低,自拍得有绝活或者会表演、分享科普要会找素材、申请授权,会编辑等等,把很多小伙伴挡在了门外。不过没关系,小编最近发现一个不错的办法,那就是用动画表达,特别...

网站制作流程步骤

网站制作是一个复杂而关键的过程,涉及到多个步骤和环节。以下是一个常用的网站制作流程步骤,供参考。第一步:需求分析...

制作网站最简单的方法是什么?

制作网站最简单的方法是什么?制作网站最简单的方法就是模板建站,非常方便快捷,模板平台的后台都是可以自定义框架和图片的,大家只要自主DIY进行替换就行了,下面就和买买提科技网一起来看看网站制作的相关内容...

如何进行网站制作?网制作站时有哪些注意事项?「延建云」

【延建云】中小企业自身的网站制作已成为主流趋势。即使是没有技术支持的个人也可以建立一个网站,这可以节省很多成本。今天,让我们谈谈如何进行网站制作。如何进行网站制作?你可以通过一些网站建设系统来网站制作...

网站建设制作流程!

一、网站建设的基本流程是什么?...

做一个网站基本流程 做公司需要的流程步骤

做一个网站都需要哪些具体流程?做网站的六个步骤一、注册域名我们都知道,网站都是由对应的站点域名来访问的,如果我们想要做一个网站,那么就需要注册一个,独一无二的域名,这样的话,也符合自己企业的特别,而且...

0基础1天学会做网站,学不会全额退款

亲爱的朋友们:你一定要当心了…因为…你可能会多一项技能,而这个技能不仅会提高你的职场竞争力,还会增加你的收入。我要做说的这个技能就是做网站,在很多人的眼里,做网站压根跟自己八竿子都打不着,没事浏览个...

取消回复欢迎 发表评论: