前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ASP.NET(C#)操作SQL Server数据库

ASP.NET(C#)操作SQL Server数据库

作者头像
悠风
发布2019-08-28 16:37:44
8.6K0
发布2019-08-28 16:37:44
举报

准备工作

  • 开发环境: Web环境:ASP.NET(C#)、SQL Server 开发工具:Visual Studio、SQL Server Management Studio 测试环境:Windows 10、Google Chrome
  • 数据库设计: 本次教程中,假设数据库名为News,并且我们要操作的数据表名为Users。表的结构设计如下图所示:

引入相关命名空间

代码语言:javascript
复制
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;

在用C#操作SQL Server数据库时,必须在.cs文件头部加入以上命名空间。

创建数据库连接对象

代码语言:javascript
复制
//配置连接信息:
string Conf = "Data Source = .; Initial Catalog = News; Integrated Security = SSPI";
//创建SQL连接对象:
SqlConnection SqlCon = new SqlConnection(Conf);

该段代码写在需要创建数据库对象的地方。其中Data Source为数据库服务器来源,本地服务器可用小数点表示;Initial Catalog为欲连接的数据库名称;Integrated Security为身份验证方式,如果是“SQL Server身份验证”则需要提供用户名和密码,如果是“Windows身份验证”则填写“SSPI”。

打开/关闭数据库

代码语言:javascript
复制
//打开数据库:
SqlCon.Open();
//关闭数据库:
SqlCon.Close();

每次进行数据库操作时,都必须先打开数据库,操作结束后,都必须关闭数据库,否则程序会运行出错。这里的SqlCon为上面创建的SQL数据库连接对象。

执行SQL语句

代码语言:javascript
复制
//创建数据库操作对象
SqlCommand SqlCmd = new SqlCommand(SqlStr, SqlCon);
//执行SQL语句
SqlCmd.ExecuteNonQuery();

其中SqlStr为SQL语句字符串变量,SqlCon为前面创建的SQL连接对象。

插入操作示例(增)

Users表中插入一条用户数据:

代码语言:javascript
复制
//打开数据库:
SqlCon.Open();
   
//获取表单控件信息:
string name = Username.Text.Trim();
string pwd  = Password.Text;
string sex  = Male.Checked ? "1" : "0";
string date = Convert.ToDateTime(Birthday.Text).ToString("yyyy-MM-dd");
string tel  = Phone.Text.Trim();
//编写SQL插入语句:
string SqlStr = "INSERT INTO Users(Username, Password, Sex, Birthday, Phone) ";
SqlStr += "VALUES('" + name + "', '" + pwd + "', " + sex + ", '" + date + "', '" + tel + "')";
//执行数据库操作:
SqlCommand SqlCmd = new SqlCommand(SqlStr, SqlCon);
SqlCmd.ExecuteNonQuery();
//关闭数据库:
SqlCon.Close();

注意: 1、SqlCon为上面创建的SQL连接对象; 2、Username.Text、Password.Text、Birthday.Text、Phone.Text为文本输入框控件的值,Male.Checked为男生性别选中状态; 3、在编写SQL语句时,特别要注意单引号与双引号,注意空格,注意括号,如果网站报错的话,很可能是SQL语句编写错误了,这时可将SqlStr打印出来检查; 4、数据表中“UserID”列名为主键,插入数据时会自增1,所以不需要设置值。

删除操作示例(删)

将数据库表Users中“UserID = 3”这条数据删除掉:

代码语言:javascript
复制
//打开数据库:
SqlCon.Open();
//编写数据库语句:
string SqlStr = "DELETE FROM Users WHERE UserID = 3";
//执行数据库操作:
SqlCommand SqlCmd = new SqlCommand(SqlStr, SqlCon);
SqlCmd.ExecuteNonQuery();
//关闭数据库:
SqlCon.Close();

注意:SqlCon为前面创建的SQL数据库连接对象。

查询操作示例(查)

查询数据库表Users中“UserID = 4”这条数据库的“Username”的值:

代码语言:javascript
复制
//打开数据库
SqlCon.Open();
//编写SQL语句:
string SqlStr = "SELECT * FROM Users WHERE UserID = 4";
//创建数据库操作对象:
SqlCommand SqlCmd = new SqlCommand(SqlStr, SqlCon);
//创建数据库数据读取对象,并绑定查询到的数据:
SqlDataReader SqlData = SqlCmd.ExecuteReader();
//判断是否查询到有数据:
if(!SqlData.Read())
  Response.Write("查询无结果!");
else
{
    //获取查询到的内容:
    string name = SqlData["Username"].ToString();
    Response.Write("查询到的用户名是:" + name);
}
//关闭数据库:
SqlCon.Close();

注意:SqlCon为上面创建的数据库连接对象。

更新操作示例(改)

修改数据表Users中“UserID = 12”这条数据的“Birthday”和“Phone”:

代码语言:javascript
复制
//打开数据库
SqlCon.Open();
//获取表单控件信息:
string date = Convert.ToDateTime(Birthday.Text).ToString("yyyy-MM-dd");
string tel  = Phone.Text.Trim();
//编写SQL语句:
string SqlStr = "UPDATE Users SET Birthday = '" + date + "', Phone = '" + tel + "' WHERE UserID = 12";
//执行数据库操作
SqlCommand SqlCmd = new SqlCommand(SqlStr, SqlCon);
SqlCmd.ExecuteNonQuery();
//关闭数据库:
SqlCon.Close();

注意: 1、SqlCon为上面创建的SQl数据库连接对象; 2、编写SQL语句时特别要注意单引号与双引号,注意逗号,注意空格,如果网站报错的话,很可能是SQL语句编写错误了,这时可将SqlStr打印出来检查。

后语

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 悠风的采坑日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 引入相关命名空间
  • 创建数据库连接对象
  • 打开/关闭数据库
  • 执行SQL语句
  • 插入操作示例(增)
  • 删除操作示例(删)
  • 查询操作示例(查)
  • 更新操作示例(改)
  • 后语
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档