C#连接数据库代码示例
代码逻辑
声明连接对象
创建数据库链接
打开链接
创建要执行的SQL语句
创建用于执行SQL语句的对象
执行SQL操作并打印返回数据
关闭数据库链接
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace SQLServer_Connect
{
class Program
{
static void Main(string[] args)
{
//声明连接对象
//方法一
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "xxx.xxx.xxx.xxx";
scsb.UserID = "xxx";
scsb.Password = "xxx";
scsb.InitialCatalog = "test";
方法二
//string connStr = "Data Source=192.168.91.7;Initial Catalog=test;User ID=PbUser;Password=1234";
将 scsb.ToString() 替换为 connStr
//创建链接
SqlConnection conn = new SqlConnection(scsb.ToString());
//判断是否已经有链接
if (conn.State == ConnectionState.Closed)
{
//打开链接
conn.Open();
Console.WriteLine("已连接到{0}数据库", scsb.InitialCatalog);
Console.WriteLine();
}
//创建要执行的SQL语句
string sqlStr = "select ScoreID, StudentID, Name, CourseName, Score from dbo.Students a " +
"inner join dbo.Score b on a.Scode = b.StudentID " +
"inner join dbo.Course c on c.CourseID = b.CourseID";
//创建用于执行SQL语句的对象
SqlCommand comm = new SqlCommand(sqlStr, conn);
//参数一:SQL语句字符串;参数二:已经打开的数据库连接对象
//执行comm对象
SqlDataReader sdr = null;
try
{
sdr = comm.ExecuteReader();
while (sdr.Read())
{
Console.WriteLine("名字:" + sdr["Name"].ToString());
Console.WriteLine("学科:" + sdr["CourseName"].ToString());
Console.WriteLine("成绩:" + sdr["Score"].ToString());
Console.WriteLine("----------------------------------------------");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
conn.Close();
}
Console.Read();
}
}
}
异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。
C# 以 try 和 catch 块的形式提供了一种结构化的异常处理方案。使用这些块,把核心程序语句与错误处理语句分离开。这些错误处理块是使用 try、catch和finally关键字实现的。
try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。
catch:程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。
finally:finally 块用于执行给定的语句,不管异常是否被抛出都会执行。例如,如果您打开一个文件,不管是否出现异常文件都要被关闭。