黑马程序员技术交流社区
标题:
数据库读取
[打印本页]
作者:
丁海平
时间:
2013-8-27 20:28
标题:
数据库读取
一想到对数据库的操作,最先想到就是增删改查吧。
以前对数据库进行操作时,都有关闭操作,而视频中都没有,虽然知道肯定没错,但不知道为什么。今天发了一贴和自己查了一些资料终于搞清楚了:
原来使用using时,就是使用了dispose的方法,Dispose会自动检查是否调用了close,如果close了,就直接Dispose,如果没有close,就先调用close再Dispose。
在离开using程序块的时候,CLR会自动调用类型所创建对象的Dipose方法。
而以前Close只是关闭connection对象,还可以从新Open。但是dispose就不行了,因为它销毁了连接字符创。
这个解决了
static void GetInsert()
{
using (SqlConnection sqlcon = new SqlConnection(Constr))
{
sqlcon.Open();
using (SqlCommand command = sqlcon.CreateCommand())
{
command.CommandText = "insert into Class(ClassNo,ClassName,CreateDate) values('5','火车',getdate())";
int result = command.ExecuteNonQuery();
if (result <= 0)
{
Console.WriteLine("插入失败!");
}
else
{
Console.WriteLine("插入成功!");
}
}
}
}
这是插入的操作;下面是修改的操作:
static void GetUpdate()
{
using (SqlConnection sqlcon = new SqlConnection(Constr))
{
sqlcon.Open();
using (SqlCommand command = sqlcon.CreateCommand())
{
command.CommandText = "update Class set ClassName='吃吃' where ClassNo=5";
int result = command.ExecuteNonQuery();
if (result <= 0)
{
Console.WriteLine("修改失败!");
}
else
{
Console.WriteLine("修改成功!");
}
}
}
}
下面是:删除的操作:
static void GetDele()
{
using (SqlConnection sqlcon = new SqlConnection(Constr))
{
sqlcon.Open();
using (SqlCommand command = sqlcon.CreateCommand())
{
command.CommandText = "delete from Class where ClassNo=5";
int result = command.ExecuteNonQuery();
if (result <= 0)
{
Console.WriteLine("删除失败!");
}
else
{
Console.WriteLine("删除成功!");
}
}
}
}
作者:
曹伟
时间:
2013-8-27 22:18
嗯,这是ADO.NET里面的基础知识,实际项目中一般都用“面向对象”,发现一亮点getdate(),直接使用数据库里面的函数获取时间.。
作者:
曹伟
时间:
2013-8-27 23:01
就是我 发表于 2013-8-27 22:18
嗯,这是ADO.NET里面的基础知识,实际项目中一般都用“面向对象”,发现一亮点getdate(),直接使用数据库里 ...
没有没有,我之前经常 DateTime.Now那样弄
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2