《C#数据库入门经典笔记》
来源:互联网 发布:台达esplc编程软件 编辑:程序博客网 时间:2024/05/01 17:47
《数据库入门经典笔记》
1。获取数据
6。1创建COMMAND对象
using System;
using System.Data;
using System.Data.SqlClient;
class SQLServerProvider
{
static void Main(string[] args)
{
string Constr = @"server=localhost;integrated security=true;database=Northwind"; //连接数据库
SqlConnection sqlConn = new SqlConnection(Constr);
try
{
sqlConn.Open();
Console.WriteLine(sqlConn.DataSource);
string sql = "select * from Employees";
SqlCommand sqlComm = new SqlCommand(sql,sqlConn);
SqlDataReader sqlReader = sqlComm.ExecuteReader();
Console.WriteLine("This program demonstrates the use of SQL server .net data provider");
Console.WriteLine("querying database '{0}' with query '{1}'",sqlConn.Database,sqlComm.CommandText);
Console.WriteLine("First Name /t Last Name /n");
while(sqlReader.Read())
{
Console.WriteLine("{0}|{1}",sqlReader["FirstName"].ToString().PadLeft(10),sqlReader["LastName"].ToString().PadLeft(10));
}
sqlReader.Close();
}
catch(Exception ex)
{
Console.WriteLine("Error:" + ex.Message);
}
finally
{
sqlConn.Close();
}
}
}
6。2 执行命令
ExecuteNonQuery 不返回任何结果,语句不是查询
ExecuteScalar 单个值
ExecuteReader 一个或者多个
ExecuteXmlReader XML
using System;
using System.Data;
using System.Data.SqlClient;
class SQLServerProvider
{
static void Main(string[] args)
{
string Constr = @"server=localhost;integrated security=true;database=Northwind";
SqlConnection sqlConn = new SqlConnection(Constr);
try
{
sqlConn.Open();
string sql = "select FirstName from Employees";
SqlCommand sqlComm = new SqlCommand(sql,sqlConn);
Console.WriteLine("Number of Employees is:{0}",sqlComm.ExecuteScalar());
}
catch(Exception ex)
{
Console.WriteLine("Error:" + ex.Message);
}
finally
{
sqlConn.Close();
}
}
}
ExecuteScalar()返回的是OBJECT类型,
转化成STRING
string sql = "select FirstName from Employees";
SqlCommand sqlComm = new SqlCommand(sql,sqlConn);
string str = (string)sqlComm.ExecuteScalar();
Console.WriteLine("Number of Employees is:{0}",str);
转化成整形
string sql = "select count(*) from Employees";
SqlCommand sqlComm = new SqlCommand(sql,sqlConn);
int str = (int)sqlComm.ExecuteScalar();
Console.WriteLine("Number of Employees is:{0}",str);
6。3 执行具有多个结果的命令
ExecuteReader()
他返回的是SqlDataReader对象
using System;
using System.Data;
using System.Data.SqlClient;
class SQLServerProvider
{
static void Main(string[] args)
{
string Constr = @"server=localhost;integrated security=true;database=Northwind";
SqlConnection sqlConn = new SqlConnection(Constr);
try
{
sqlConn.Open();
string sql = "select FirstName,LastName from Employees";
SqlCommand sqlComm = new SqlCommand(sql,sqlConn);
SqlDataReader sqlReader = sqlComm.ExecuteReader();
while(sqlReader.Read())
{
Console.WriteLine("Employees name:{0} {1}",sqlReader.GetValue(0),sqlReader.GetValue(1));
}
sqlReader.Close();
}
catch(Exception ex)
{
Console.WriteLine("Error:" + ex.Message);
}
finally
{
sqlConn.Close();
}
}
}
6。4 执行非查询命令
using System;
using System.Data;
using System.Data.SqlClient;
class SQLServerProvider
{
static void Main(string[] args)
{
string Constr = @"server=localhost;integrated security=true;database=Northwind";
SqlConnection sqlConn = new SqlConnection(Constr);
string sql = "select count(*) from Employees";
SqlCommand selectCommand = new SqlCommand(sql,sqlConn);
SqlCommand noQueryCommand = sqlConn.CreateCommand();
try
{
sqlConn.Open();
Console.WriteLine("Before insert:Number of Employees {0}",selectCommand.ExecuteScalar());
noQueryCommand.CommandText = "insert into Employees(FirstName,Lastname) values('Chen','LianJia')";
Console.WriteLine(selectCommand.CommandText);
Console.WriteLine("Number of rows affected is:(0)",noQueryCommand.ExecuteNonQuery());
Console.WriteLine("after insert:Number of Employees {0}",selectCommand.ExecuteScalar());
}
catch(Exception ex)
{
Console.WriteLine("Error:" + ex.Message);
}
finally
{
sqlConn.Close();
}
}
}
6。5 命令参数
using System;
using System.Data;
using System.Data.SqlClient;
class SQLServerProvider
{
static void Main(string[] args)
{
string Constr = @"server=localhost;integrated security=true;database=Northwind";
SqlConnection sqlConn = new SqlConnection(Constr);
string sql = "select count(*) from Employees";
SqlCommand selectCommand = new SqlCommand(sql,sqlConn);
SqlCommand noQueryCommand = sqlConn.CreateCommand();
try
{
sqlConn.Open();
noQueryCommand.CommandText = "create table MyTable(myName varchar(30),myNumber Integer)";
Console.WriteLine(selectCommand.CommandText);
noQueryCommand.ExecuteNonQuery();
noQueryCommand.CommandText = "insert into MyTable values(@myName,@myNumber)";
noQueryCommand.Parameters.Add("@myName",SqlDbType.VarChar,30);
noQueryCommand.Parameters.Add("@myNumber",SqlDbType.Int);
noQueryCommand.Prepare();
string[] names = {"Enrico","Franco","Gloria","Horace"};
int i;
for(i=1;i<=4;i++)
{
noQueryCommand.Parameters["@myName"].Value = names[i-1];
noQueryCommand.Parameters["@myNumber"].Value = i;
Console.WriteLine(noQueryCommand.CommandText);
Console.WriteLine("Number of rows affected is {0}",noQueryCommand.ExecuteNonQuery());
}
}
catch(Exception ex)
{
Console.WriteLine("Error:" + ex.Message);
}
finally
{
sqlConn.Close();
}
}
}
- 《C#数据库入门经典笔记》
- c#入门经典笔记
- c#经典入门--学习笔记
- c#经典入门--学习笔记
- c#入门经典笔记chapter05
- c# 5.0入门经典笔记
- 《C#入门经典》学习笔记(变量)
- 《C#入门经典》学习笔记(函数)
- 《C#入门经典》学习笔记(泛型)
- c#经典入门学习笔记-定义集合
- c#经典入门学习笔记-定义集合
- C#入门经典---Windows笔记(1)
- C#入门经典学习笔记之数据类型
- C#自学快速入门经典笔记心得
- C#入门经典第五版笔记
- C#入门经典学习笔记1
- C#入门经典 学习笔记(一)
- C#入门经典 学习笔记(二)
- 四僧记(序) / 张豫
- 连接ORACLE数据库
- 四僧记(一) / 张豫
- int main(int argc,char **argv)
- Ant 常用Task
- 《C#数据库入门经典笔记》
- [原创]dataGrid在页面拖动行(在表头,用htc文件实现)
- 不开心!
- Win32 API 实现系统托盘程序
- 哈哈,终于找回来了《手放开》
- Problem 108 Your Ride Is Here
- ASP.NET学习笔记
- IE与Mozilla下Dhtml的一些区别小结
- 关于SQL Server的若干注意事项(转)