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

准备工作

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

引入相关命名空间

using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;

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

创建数据库连接对象

//配置连接信息:
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”。

打开/关闭数据库

//打开数据库:
SqlCon.Open();
//关闭数据库:
SqlCon.Close();

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

执行SQL语句

//创建数据库操作对象
SqlCommand SqlCmd = new SqlCommand(SqlStr, SqlCon);
//执行SQL语句
SqlCmd.ExecuteNonQuery();

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

插入操作示例(增)

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

//打开数据库:
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”这条数据删除掉:

//打开数据库:
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”的值:

//打开数据库
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”:

//打开数据库
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打印出来检查。

后语

原文发布于微信公众号 - 悠风的采坑日记(yowfung)

原文发表时间:2019-07-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券