【SQL链接字符串】
Data Source=.; Initial Catalog=mydb; User ID=admin; Password=123;
//Data Source代表数据库地址,Data Source中的值"."代表本机,与127.0.0.1意义相同,同样可使用IP地址指向。
//Initial Catalog指的是数据库名称
//User和Password分别代表数据库用户名和密码
【C#链接SQL数据库代码】
using(SqlConnection conn = new SqlConnection("这里填写SQL链接字符串"))
{
conn.Open();
}
//using代码块继承了IDisposible接口,可实现“自释放”
//SqlConnection 需调用System.Data.SqlClient命名空间
//conn是对象名,可自定义设置
【C#执行SQL语句代码 (插入、查询、删除、更新均用这段代码)】
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "这里输入SQL语句(插入、查询、删除、更新)"
cmd.ExecuteNonQuery(); //调用了ExecuteNonQuery方法,可理解为是 执行语句操作
}
//执行SQL语句代码前,需成功链接数据库后,才可操作成功。
//SqlCommand关键字:创建SQL命令
//CommandText关键字:SQL语句的执行命令代码
//ExecuteNonQuery()方法:执行SQL代码命令,一般用于插入、更新等无需返还的SQL操作,但它也有一个int返还值,代表数据库操作成功条数,比如成功5条数据,则返还5,成功执行10条数据就返还10
//ExecuteScalar()方法,用于返还一个值 如count()方法,要定义一个变量来接收返还值(可接收1个返还值)
//ExecuteReader()方法,用于返还多行值。同样需要定义变量来接收,变量的类型是SqlDataReader,需要注意的是SqlDataReader同样是继承了IDisposible的接口,所以要套用using代码模块
例:
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Select * from T_Student"; //查询整个T_Student表
using(SqlDataReader Reader = cmd.ExecuteReader()) //返还多行数据,用Reader接收
{
while(Reader.Read()) //只要Reader中有数据,Read()方法就为True,以此来遍历数据
{
string Name = Reader.GetString(1);//GetString方法,1为查询结果的列
int Age = Reader.GetInt32(2); //我的数据库中第“2”列为年龄
//注意,GetInt32(n),这个n的值取决于查询结果中的列
//我这里查询的是整个表的数据,所以这个N对应数据库的列
MessageBox.Show("名字:"+Name+",年龄为:"+Age); //通过弹窗遍历显示出来
}
}
}
【完整的C#链接、执行SQL数据库 代码】
using(SqlConnection conn = new SqlConnection(
"Data Source=.; Initial Catalog=mydb; User ID=admin; Password=123;"))
{
conn.Open();
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText="Insert into T_db(name,age) values ('张三',18)";
cmd.ExecuteNonQuery();
}
}
【DateSet】:
using(SqlConnection conn = new SqlConnection(
"Data Source =.; Initial Catalog = HMS; User ID= HMSadmin; Password= hmsadmin123;"))
{
conn.Open();
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Select * from T_Resident where Age<@age";
cmd.Parameters.Add(new SqlParameter("@age",200));
//SqlDataAdapter是一个帮我们填充SqlCommand命令中查询结果到DataSet中的类
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
//DataSet相当于本地的一个复杂集合,用来将数据库查询结果储存到本地中。
DataSet dataSet = new DataSet();
adapter.Fill(dataSet); //Fill可以理解为“填充SqlCommand命令中查询结果到DataSet中”的行为执行命令
//dataSet里有多个表,但一般执行结果只有一个表,所以是 dataSet.Tables[0],[0]表示第一个表
DataTable table = dataSet.Tables[0];
//table.Rows表示查询结果的“行”;
DataRowCollection rows = table.Rows;
//用for循环遍历
for (int i = 0; i < rows.Count;i++ )
{
DataRow row = rows[i];
int age = (int)row["Age"];
string name = (string)row["Name"];
MessageBox.Show("执行结果第"+(i+1)+"条:姓名:"+name+",年龄:"+age);
}
}
【在App.config中配置连接字符串】
App.config中的代码:
<connectionStrings>
<add name="dbConnStr" connectionString="Data Source =.; Initial Catalog = myDB; User ID= admin; Password= 123;"/>
</connectionStrings>
程序中的代码:
string strConn = ConfigurationManager.ConnectionStrings["dbConnStr"].ConnectionString;
private void btnConn_Click(object sender, RoutedEventArgs e)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
MessageBox.Show("数据库连接成功!App配置文件设置正确!");
}
}
//具体操作步骤:
//1.程序根目录添加项目"应用程序配制文件",建立App.config
//2.在App.config节点中添加代码。
//例:
//<connectionStrings>
// <add name="dbConnStr" connectionString="Data Source =.; Initial Catalog = myDB; User ID= admin; Password= 123;"/>
//</connectionStrings>
//3.添加引用,添加.net中的"System.configuration"项到程序引用中。
//4.在程序代码中调用System.Configuration的命名空间:using System.Configuration;
//5.在程序打码中,声明一个string变量,用来存放所调用的App.config的代码
//例:
//string strConn = ConfigurationManager.ConnectionStrings["dbConnStr"].ConnectionString;
//到这里,已经完成操作了,在后续程序中,需要用到连接字符串的地方直接调用 strConn 即可。如本程序代码。
Data Source=.; Initial Catalog=mydb; User ID=admin; Password=123;
//Data Source代表数据库地址,Data Source中的值"."代表本机,与127.0.0.1意义相同,同样可使用IP地址指向。
//Initial Catalog指的是数据库名称
//User和Password分别代表数据库用户名和密码
【C#链接SQL数据库代码】
using(SqlConnection conn = new SqlConnection("这里填写SQL链接字符串"))
{
conn.Open();
}
//using代码块继承了IDisposible接口,可实现“自释放”
//SqlConnection 需调用System.Data.SqlClient命名空间
//conn是对象名,可自定义设置
【C#执行SQL语句代码 (插入、查询、删除、更新均用这段代码)】
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "这里输入SQL语句(插入、查询、删除、更新)"
cmd.ExecuteNonQuery(); //调用了ExecuteNonQuery方法,可理解为是 执行语句操作
}
//执行SQL语句代码前,需成功链接数据库后,才可操作成功。
//SqlCommand关键字:创建SQL命令
//CommandText关键字:SQL语句的执行命令代码
//ExecuteNonQuery()方法:执行SQL代码命令,一般用于插入、更新等无需返还的SQL操作,但它也有一个int返还值,代表数据库操作成功条数,比如成功5条数据,则返还5,成功执行10条数据就返还10
//ExecuteScalar()方法,用于返还一个值 如count()方法,要定义一个变量来接收返还值(可接收1个返还值)
//ExecuteReader()方法,用于返还多行值。同样需要定义变量来接收,变量的类型是SqlDataReader,需要注意的是SqlDataReader同样是继承了IDisposible的接口,所以要套用using代码模块
例:
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Select * from T_Student"; //查询整个T_Student表
using(SqlDataReader Reader = cmd.ExecuteReader()) //返还多行数据,用Reader接收
{
while(Reader.Read()) //只要Reader中有数据,Read()方法就为True,以此来遍历数据
{
string Name = Reader.GetString(1);//GetString方法,1为查询结果的列
int Age = Reader.GetInt32(2); //我的数据库中第“2”列为年龄
//注意,GetInt32(n),这个n的值取决于查询结果中的列
//我这里查询的是整个表的数据,所以这个N对应数据库的列
MessageBox.Show("名字:"+Name+",年龄为:"+Age); //通过弹窗遍历显示出来
}
}
}
【完整的C#链接、执行SQL数据库 代码】
using(SqlConnection conn = new SqlConnection(
"Data Source=.; Initial Catalog=mydb; User ID=admin; Password=123;"))
{
conn.Open();
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText="Insert into T_db(name,age) values ('张三',18)";
cmd.ExecuteNonQuery();
}
}
【DateSet】:
using(SqlConnection conn = new SqlConnection(
"Data Source =.; Initial Catalog = HMS; User ID= HMSadmin; Password= hmsadmin123;"))
{
conn.Open();
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Select * from T_Resident where Age<@age";
cmd.Parameters.Add(new SqlParameter("@age",200));
//SqlDataAdapter是一个帮我们填充SqlCommand命令中查询结果到DataSet中的类
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
//DataSet相当于本地的一个复杂集合,用来将数据库查询结果储存到本地中。
DataSet dataSet = new DataSet();
adapter.Fill(dataSet); //Fill可以理解为“填充SqlCommand命令中查询结果到DataSet中”的行为执行命令
//dataSet里有多个表,但一般执行结果只有一个表,所以是 dataSet.Tables[0],[0]表示第一个表
DataTable table = dataSet.Tables[0];
//table.Rows表示查询结果的“行”;
DataRowCollection rows = table.Rows;
//用for循环遍历
for (int i = 0; i < rows.Count;i++ )
{
DataRow row = rows[i];
int age = (int)row["Age"];
string name = (string)row["Name"];
MessageBox.Show("执行结果第"+(i+1)+"条:姓名:"+name+",年龄:"+age);
}
}
【在App.config中配置连接字符串】
App.config中的代码:
<connectionStrings>
<add name="dbConnStr" connectionString="Data Source =.; Initial Catalog = myDB; User ID= admin; Password= 123;"/>
</connectionStrings>
程序中的代码:
string strConn = ConfigurationManager.ConnectionStrings["dbConnStr"].ConnectionString;
private void btnConn_Click(object sender, RoutedEventArgs e)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
MessageBox.Show("数据库连接成功!App配置文件设置正确!");
}
}
//具体操作步骤:
//1.程序根目录添加项目"应用程序配制文件",建立App.config
//2.在App.config节点中添加代码。
//例:
//<connectionStrings>
// <add name="dbConnStr" connectionString="Data Source =.; Initial Catalog = myDB; User ID= admin; Password= 123;"/>
//</connectionStrings>
//3.添加引用,添加.net中的"System.configuration"项到程序引用中。
//4.在程序代码中调用System.Configuration的命名空间:using System.Configuration;
//5.在程序打码中,声明一个string变量,用来存放所调用的App.config的代码
//例:
//string strConn = ConfigurationManager.ConnectionStrings["dbConnStr"].ConnectionString;
//到这里,已经完成操作了,在后续程序中,需要用到连接字符串的地方直接调用 strConn 即可。如本程序代码。