获取服务器名,用户名,密码以及你要访问的数据库
using System.Data; // 表的命名空间
using System.Data.SqlClient; // 和SQL相关的命名空间
我的数据库的信息:
服务器名:DESKTOP-56DN3HD
登录名:Csharp
密码:123456
数据库名:LibraryManagementSystem
// 声明一个SqlConnectionStringBuilder对象
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "DESKTOP-56DN3HD"; // 设置数据源服务器
scsb.UserID = "Csharp"; // 设置用户名
scsb.Password = "123456"; // 密码
scsb.InitialCatalog = "LibraryManagementSystem"; // 设置要访问的数据库
"Data Source = (1); Database = (2); User Id = (3); Password = (4)"
string ConStr = "Data Source = DESKTOP-56DN3HD; Database = LibraryManagementSystem;"
+ "User Id = Csharp; Password = 123456";
上面这种输入用户名和密码的是使用了 SQL Server 身份验证,如果要使用 windows 身份验证,只需要将 “User Id = Csharp; Password = 123456” 改为 “Trusted_Connection = SSPI” 或 “Integrated Security = SSPI”
string ConnStr = "server = DESKTOP-56DN3HD; Database = LibraryManagementSystem;"
+"Trusted_Connection = SSPI";
根据上面两种方法不同创建连接的方法也不同
方法一的 scsb 由于不是string类型,所以需要使用ToString()方法
// 创建连接
SqlConnection SqlCon = new SqlConnection(scsb.ToString());
// 打开数据库
SqlCon.Open();
方法二的 ConStr 可以直接作为参数传进去
// 创建连接
SqlConnection SqlCon = new SqlConnection(ConStr);
// 打开数据库
SqlCon.Open();
try
{
sqlConnection.Open();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
// 1、创建要执行的SQL查询语句
string find = "SELECT * FROM Table_User WHERE ID = '" + str + "'";
// 2、创建用于执行SQL查询语句的对象
SqlCommand cmd = new SqlCommand(find,SqlCon);//创建执行语句// 参数1:SQL语句字符串。参数2:已经打开的数据库
// 3、执行对象的SQL查询语句并接受结果
SqlDataReader dr = cmd.ExecuteReader();//执行
// 4、读取结果的数据
while(dr.Read())
{
Console.WriteLine("ID: " + dr["ID"].ToString());
Console.WriteLine("name: " + dr["name"].ToString());
}
using System;
using System.Data; // 表的命名空间
using System.Data.SqlClient; // 和SQL相关的命名空间
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
// 方法一
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "DESKTOP-56DN3HD"; // 设置数据源服务器
scsb.UserID = "Csharp"; // 设置用户名
scsb.Password = "123456"; // 密码
scsb.InitialCatalog = "LibraryManagementSystem"; // 设置要访问的数据库
// 方法二
string ConStr = "Data Source = DESKTOP-56DN3HD; Database = LibraryManagementSystem;"
+ "User Id = Csharp; Password = 123456";
// 创建连接
SqlConnection SqlCon = new SqlConnection(scsb.ToString());
// 打开数据库
SqlCon.Open();
if(SqlCon.State == ConnectionState.Open)
{
Console.WriteLine("数据库已打开");
}
Console.WriteLine("请输入要查询的编号");
string str = Console.ReadLine();
string find = "SELECT * FROM Table_User WHERE ID = '" + str + "'";
//sql查询语句
SqlCommand cmd = new SqlCommand(find,SqlCon);//创建执行语句
SqlDataReader dr = cmd.ExecuteReader();//执行
while(dr.Read())
{
Console.WriteLine("ID: " + dr["ID"].ToString());
Console.WriteLine("name: " + dr["name"].ToString());
}
// 关闭数据库
SqlCon.Close();
if (SqlCon.State == ConnectionState.Closed)
{
Console.WriteLine("数据库已关闭");
}
Console.ReadKey();
}
}
}
string sqlConnStr = "Data Source=服务器名;Initial Catalog=数据库名;User ID=用户名;Password=密码";//用户密码登录
//或
string sqlConnStr = "Data Source=服务器名;Initial Catalog=数据库名;Integrated Security=true;//主机用户登录 IntegratedSecurity这个字段表示是否使用用户名密码登录
using System.Data.SqlClient;
SqlConnection sqlConnection = new SqlConnection(sqlConnStr);
try
{
sqlConnection.Open();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
打开数据库的时候注意需要捕捉异常
string sql = "select 1";
SqlCommand cmd = new SqlCommand();//创建SQL语句处理对象
//或SqlCommand cmd = new SqlCommand(sql,sqlConnection);//构造函数绑定
cmd.Connection = sqlConnection;//绑定连接
cmd.CommandText = sql;//绑定SQL语句
int count = (int)cmd.ExecuteScalar();
ExecuteScalar() : 作用是获取返回表上的第一个单元格的数据
string sql = "select 1,2,3";
//省略绑定
SqlDataReader sqlDataReader = cmd.ExecuteReader();//数据对象
while (sqlDataReader.Read())//read方法 :前进到下一条记录 并且是否有下一行记录
{
int a =(int)sqlDataReader[0];
int a =(int)sqlDataReader[1];
int a =(int) sqlDataReader[2];//索引从0开始,按单元格检索
// int a = sqlDataReader["字段名"];使用数据库中的字段名同样可以
}
ExecuteReader() : 执行SQL 语句返回一个sqlDataReader传递数据
string sql = delete from [数据库];
//省略绑定步骤
int line = cmd.ExecuteNonQuery();//返回记录更改的行数
if (sqlDataReader != null)
{
sqlDataReader.Close();
}
if (cmd != null)
{
cmd.Dispose();
}
if (sqlConnection != null)
{
sqlConnection.Close();
}
insert into [表名](字段1,字段2···) values(值1,值2···);
delete from [表名] where [条件]
update [表名] set 字段名 = 值 ,第二个修改 where [条件]
select * from [数据库] where [字段名] = 值;