C#学习笔记20240730

server/2024/10/20 16:07:04/

文章目录

    • 连接字符串
      • 连接字符串是什么?
      • SQLServer连接字符串
      • 配置文件中存储
      • 异常
    • SqlCommand
      • SqlCommand介绍
      • 重要属性
      • 创建
    • Command执行方法
      • ExecuteNonQuery

连接字符串

连接字符串是什么?

字符串,一组被格式化的键值对,数据源在哪里,数据库名,提供什么样访问信任级别,其他相关信息。
格式:一组元素组成,一个元素———键值对,各个元素之间 ; 隔开。

SQLServer连接字符串

Sql server 身份验证
Data Source 数据与 Initial Catalog 数据库名 User Id 账号 Password密码

windows身份验证
Data Source 数据与 Initial Catalog 数据库名 Integrated Security=True/SSPI
Trusted_Connection=True

配置文件中存储

配置到文件中 写哪个位置?(推荐) connectionStrings节点中 appSettings节点中

string connStr=ConfigurationManager.ConnectionStrings[“connStr”].ConnectionString;‘’ //读取连接
string connStr=ConfigurationManager.AppSetting[“conStr”].ToString();

异常

try{ } catch(){ } finally{ }
using语句块 ----try finally 没有catch,处理异常 —释放对象
using 引用命名空间
using 命别名

SqlCommand

SqlCommand介绍

对SQLServer数据库执行的一个T-SQL语句或存储过程。
SqlCommand对象:Ado.Net中执行数据库命令的对象。

重要属性

  • Connection:SqlCommand对象使用的SqlConnection
  • CommandText:获取或设置要执行的T-SQL语句或存储过程名
  • CommandType:CommandType.Text–执行的是一个Sql语句
    CommandType.StoredProcedure–执行的是一个存储过程
  • Parameters:SqlCommand对象的命令参数集合 空集合
  • Transaction:获取或设置要在其中执行的事务

创建

//1.SqlCommand cmd=new SqlCommand();cmd.Connection=conn;cmd.CommandText=sql;//cmd.CommandType=CommandType.Text;没有必要的//cmd.CommandType=CommandType.StoredProcedure;//如果是存储过程,必须设置//2.SqlCommand cmd1=new SqlCommand(sql);cmd1.Connection=conn;//3. SQL语句   连接对象   推荐的SqlCommand cmd2=new SqlCommand(sql,conn);//4.Connection对象SqlCommand cmd3=conn.CreateCommand();cmd3.CommandText=sql;//5.string delSql="delete from UserInfos where UserId>3";
//SqlCommand cmd4=new SqlCommand(delSql,conn,null);

Command执行方法

  • cmd.ExecuteNonQuery();
  • cmd.ExecuteScalar();
  • cmd.ExecuteReader();

ExecuteNonQuery

  • ExecuteNonQuery()方法是SqlCommand类的一个方法
  • 主要用来更新数据。通常使用它来执行Update、Insert和Delete语句
  • 对于Update、Insert和Delete语句,返回值为该命令所影响的行数
//SQL语句
string updateQuery="Update studentInfo set sName=‘小李‘"+"Where ID=‘200131500145‘";//创建连接对象,建立连接SqlConnection connection=new SqlConnection();connection.Connectionstring=connectionString;//创建命令对象SqlCommand command=new SqlCommand(updateQuery,connection);//打开连接conn.Open();// 调用命令对象的ExecuteNonQuery方法,返回受影响行数int RecordsAffected=command.ExecuteNonQuery();//关闭连接conn.Close();

这个代码的SQL语句中有一个很致命的问题:字符串拼接方式——sName=‘小李‘"+"Where ID=‘200131500145‘。这样非常不安全,要采用参数化方式防止SQL注入问题:

public int checkUser(Users user){string sql = "select COUNT(*) from T_Users where UserName = @UserName and Password = @Password";SqlParameter[] paras ={new SqlParameter ("@UserName",User.username) ,new SqlParameter ("@Password",User.password)};int num = sqlhelper.ExecuteNonQuery(sql, paras);return num ;}

http://www.ppmy.cn/server/95427.html

相关文章

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——3bin模型转化环境的准备

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——3bin模型转化环境的准备 ​ 今天给大家带来的是在上一期基础上最重要的一步,这个地方是我开始踩坑的开始。 ​ 当时一开始看教程,不知道怎么看到了高级进阶版。当时也是弄了好久…

File类的用法

目录 File的常见方法 普通文件的创建 普通文件的删除 deleteOnExit 目录的创建 mkdir mkdirs 文件的重命名和剪切 剪切 重命名 InputStream read() OutputStream write() Reader Writer write(String str) 代码练习 扫描指定⽬录,并找到名称中包含…

逻辑推理之lora微调

逻辑推理微调 比赛介绍准备内容lora微调lora微调介绍lora优势代码内容 start_vllm相关介绍调用 运行主函数提交结果总结相应连接 比赛介绍 本比赛旨在测试参与者的逻辑推理和问题解决能力。参与者将面对一系列复杂的逻辑谜题,涵盖多个领域的推理挑战。 比赛的连接:…

【Mind+】掌控板入门教程03 节日的祝福

在节日的时候,我们通常会送朋友或者家人一张贺卡表达美好的祝福。随着科技的发展,我们已经可以通过手机聊天工具发送一封电子贺卡。电子贺卡相当于把祝福做成了一个小动画,它环保方便,生动有趣。今天就让我们用掌控板来制作一份电…

数据结构之八大基本排序方法

在数据结构中,排序是一个重要的操作,它有助于提高数据的可读性和可操作性。排序算法有多种,各有优缺点,适用于不同的场景。以下是八大经典排序算法的介绍: 1. 冒泡排序(Bubble Sort) 原理&…

循环结构(三)——do-while语句

目录 🍁引言 🍁一、语句格式 🚀格式1 🚀格式2 🍁二、语句执行过程 🍁三、实例 🚀【例1】 🚀【例2】 🚀【例3】 🍁总结 🍁备注 &am…

数组的增删查查改

1、增 1.Cpp #include <iostream> using namespace std; #include "add.h"int main() {//初始化数组int arr[5];//前四个元素为1&#xff0c;2&#xff0c;3&#xff0c;4for (int i 0; i < 4; i){arr[i] i1;}//数组第5个赋值为100arr[4] 100;for (int…

ChatGPT协助撰写研究论文的11种方法【全集】

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 当我们使用 ChatGPT 时&#xff0c;原本那些需要花费数小时、数天、有时甚至更长时间的任务现在只需几分钟甚至更短时间。 今天的分享&#xff0c;我们将谈谈 ChatGPT 在研究论文方面可…