www.programfan.com
用于操作左边数据库的代码
放在Main()方法下面
static void Main()
{
string dataDir=AppDomain.CurrentDomain.BaseDirectory;
if(dataDir.EndsWith(@"\bin\Debug\")
||dataDir.EndsWith(@"\bin\Release\"))
{
dataDir=System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurentDomain.SetData("DataDirectory",dataDir);
}
将连接数据库字符串写到配置文件(新建项-配置文件)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="ConnStr" connetionString="Data Source=**;DataBase=**;pwd=***;uid=***">
</connectionStrings>
</configuration>
//引用 添加引用
system.configuration;
/*************************
类中ToString 方法是调用基类的ToString(), 在类中重载ToString方法。
public override string ToString()
{
return name;
}
combox DisplayMember 属性 设置
using(SqlConnection conn=new SqlConnection(string strConn)
{
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText="select * from city where proID=@proID";
cmd.Parameters.Add=(new SqlParameter("proID",proID));
using (SqlDataReader dataReader=cmd.ExecuteReader())
{
string cityName=dataReader.GetString(dataReader.GetOrdinal("cityName"));
cmbCity.items.Add("cityName");
}
using(SqlConnection conn=new SqlConnection(string strConn)
{
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText="select * from city where proID=@proID";
cmd.Parameters.Add=(new SqlParameter("proID",proID));
using (SqlDataReader dataReader=cmd.ExecuteReader())
{
while(dataReader.Read())
{
ProvinceItem item=new ProvinceItem();
item.ID=dataReader.GetInt32(dataReader.GetOrdinal ("proID"));
item.Name=dataReader.GetString(dataReader.GetOrdinal ("proName"));
//添加到COMBOX下拉列表
cmbPro.Items.Add(item);
}
}
// dataset 中更新数据到数据库0
SqlCommandBuilder builder=new SqlCommandBuilder(adapter);
adapter.Update(dataset);
Data Source=(LocalDB)\v12.0;AttachDbFilename="E:\Visual Studio 2013\Projects\ADO.DB\WindowsFormsApplication1\Database12.mdf";Integrated Security=True
// 创建数据库 删除数据库表 删除数据
Create Table T_yuangong(id int not null, name nvarchar(10),age int null)
drop table T_yuangong
delete from T_yuangong where Age<18
SQL : ddl(数据定义语言)Create Table\ Drop Table dml(数据操作语言)insert into 、 select* from Table where..... 、delete、update
//条件查询
select * from T_Employee Where FName like '_ry‘
select * from T_Employee Where FName like '%n%‘
select * from T_Employee Where FName is(not) null
select * from T_Employee Where FName in(Tim,Tom)
select * from T_Employee Where FName between 20 and 50
select * from T_Employee Where FAge>=20 and FAge<50
//分组查询 (聚合函数是不能放到Where 子句中的)
select FAge,Count(*) from T_Employee group by FAge
select FAge,Count(*) from T_Employee group by FAge having count(*)>2
// 查询语句的函数
ceiling 舍到最大 floor 舍到最小 round 四舍五入 ABS()绝对值
LTRIM,RTRIM ,LTRIM(RTRIM()),DATEADD,DATEDIFF
类型转换
cast convert
//添加 列
select FNumber,
sum(
case
when FAmount>0 than FAmount
else 0
end
)as 收入
sum(
case
when FAmount<0 than ABS(FAmount)
else 0
end
)as 支出
from T_Amount
select Name,
sum(
case Score
when N'胜' than 1
else 0
end
)as 胜
sum(
case Score
when N'负' than 1
else 0
end
)as 负
from T_Score
group by Name
//强数据类型
批量操作之前 先将adapter打开,然后再关闭,这样可以提升效率
adapter.Connection.Open();
……………………………………
adapter.Connection.Close();
用于操作左边数据库的代码
放在Main()方法下面
static void Main()
{
string dataDir=AppDomain.CurrentDomain.BaseDirectory;
if(dataDir.EndsWith(@"\bin\Debug\")
||dataDir.EndsWith(@"\bin\Release\"))
{
dataDir=System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurentDomain.SetData("DataDirectory",dataDir);
}
将连接数据库字符串写到配置文件(新建项-配置文件)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="ConnStr" connetionString="Data Source=**;DataBase=**;pwd=***;uid=***">
</connectionStrings>
</configuration>
//引用 添加引用
system.configuration;
/*************************
类中ToString 方法是调用基类的ToString(), 在类中重载ToString方法。
public override string ToString()
{
return name;
}
combox DisplayMember 属性 设置
using(SqlConnection conn=new SqlConnection(string strConn)
{
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText="select * from city where proID=@proID";
cmd.Parameters.Add=(new SqlParameter("proID",proID));
using (SqlDataReader dataReader=cmd.ExecuteReader())
{
string cityName=dataReader.GetString(dataReader.GetOrdinal("cityName"));
cmbCity.items.Add("cityName");
}
using(SqlConnection conn=new SqlConnection(string strConn)
{
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText="select * from city where proID=@proID";
cmd.Parameters.Add=(new SqlParameter("proID",proID));
using (SqlDataReader dataReader=cmd.ExecuteReader())
{
while(dataReader.Read())
{
ProvinceItem item=new ProvinceItem();
item.ID=dataReader.GetInt32(dataReader.GetOrdinal ("proID"));
item.Name=dataReader.GetString(dataReader.GetOrdinal ("proName"));
//添加到COMBOX下拉列表
cmbPro.Items.Add(item);
}
}
// dataset 中更新数据到数据库0
SqlCommandBuilder builder=new SqlCommandBuilder(adapter);
adapter.Update(dataset);
Data Source=(LocalDB)\v12.0;AttachDbFilename="E:\Visual Studio 2013\Projects\ADO.DB\WindowsFormsApplication1\Database12.mdf";Integrated Security=True
// 创建数据库 删除数据库表 删除数据
Create Table T_yuangong(id int not null, name nvarchar(10),age int null)
drop table T_yuangong
delete from T_yuangong where Age<18
SQL : ddl(数据定义语言)Create Table\ Drop Table dml(数据操作语言)insert into 、 select* from Table where..... 、delete、update
//条件查询
select * from T_Employee Where FName like '_ry‘
select * from T_Employee Where FName like '%n%‘
select * from T_Employee Where FName is(not) null
select * from T_Employee Where FName in(Tim,Tom)
select * from T_Employee Where FName between 20 and 50
select * from T_Employee Where FAge>=20 and FAge<50
//分组查询 (聚合函数是不能放到Where 子句中的)
select FAge,Count(*) from T_Employee group by FAge
select FAge,Count(*) from T_Employee group by FAge having count(*)>2
// 查询语句的函数
ceiling 舍到最大 floor 舍到最小 round 四舍五入 ABS()绝对值
LTRIM,RTRIM ,LTRIM(RTRIM()),DATEADD,DATEDIFF
类型转换
cast convert
//添加 列
select FNumber,
sum(
case
when FAmount>0 than FAmount
else 0
end
)as 收入
sum(
case
when FAmount<0 than ABS(FAmount)
else 0
end
)as 支出
from T_Amount
select Name,
sum(
case Score
when N'胜' than 1
else 0
end
)as 胜
sum(
case Score
when N'负' than 1
else 0
end
)as 负
from T_Score
group by Name
//强数据类型
批量操作之前 先将adapter打开,然后再关闭,这样可以提升效率
adapter.Connection.Open();
……………………………………
adapter.Connection.Close();