天轰穿.net/vs2005/ajax入门 -- 穷则独善其身,达则兼济天下

为中国的计算机行业贡献自己的一点微薄之力!!战胜自己-否定自己-完善自己 -->支持我就点我的广告吧!谢谢大家!
赈灾企业爱心榜,花钱之前请先查看这里确定品牌!! 交流学习论坛 Www.Thc123.Net.Cn
posts - 345, comments - 6325, trackbacks - 270, articles - 1
  博客园 :: 首页 :: 新随笔 ::  :: 订阅 订阅 :: 管理

偶日常用的一些数据操作类

Posted on 2006-06-18 12:35 天轰穿 阅读(2750) 评论(15)  编辑 收藏 所属分类: 学习笔记
偶也不知道算不算,反正我自己随时写的用,很粗浅的,适合跟我一样的新手收藏,指不定就用得上呢!

一组是我这两天写留言本的(感谢第一控制的提醒,关于清理连接我回在做好之后再改正)
另组是以前VS2003写投票用的

高手看见的话,麻烦把好的解决方案说下,谢谢哦!!新手的话,共同学习了!!

--------下面是我最近写个留言本用的------------
    
public static OleDbConnection con()
    
{//数据库连接类
        OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["book"].ConnectionString);
        
return con;
    }

    
public static bool insert(string que)
    
//根据传进来的SQL语句执行插入操作
        OleDbConnection con = odb.con();
        con.Open();
        OleDbCommand cmd 
= new OleDbCommand(que,con);
        
int count = Convert.ToInt32(cmd.ExecuteNonQuery());
        
if (count > 0)
            
return true;
        
else
            
return false;
        }

    
public static DataTable ds(string que)
    
{//返回一个装载了SQL制定留言的数据表,
        OleDbConnection con = odb.con();
        OleDbDataAdapter oda 
= new OleDbDataAdapter();
        oda.SelectCommand
=new OleDbCommand(que,con);
        DataSet ds 
= new DataSet();
        oda.Fill(ds,
"thc");
        
return ds.Tables["thc"];
    }

    
public static bool img(string que)
    
{//根据传来的条件查询该项是否有内容,有就返回true
        OleDbConnection con = odb.con();
        con.Open();
        OleDbCommand cmd 
= new OleDbCommand(que,con);
        
if (cmd.ExecuteScalar().ToString() != "")
            
return true;
        
else
            
return false;
    }

    
public static string scr(string que)
    
{//同样是根据传来的SQL语句返回一个字段的值,我不太喜欢把SQL语句做在内中,感觉不灵活 
        OleDbConnection con = odb.con();
        con.Open();
        OleDbCommand cmd 
= new OleDbCommand(que,con);
        
return cmd.ExecuteScalar().ToString();
    }


-----------下面是以前2003的时候用的----------
public static SqlConnection con()
        
{//(静态)初始化链接,因为数据库路径在web.config文件里面,所以这里返回的是哪个字符串,这是VS2003的数据库连接初始实例
            SqlConnection con=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["con"]);
            
return con;
        }

        
public static bool chklog(string name,string pwd)
        
{//判断数据库里是否存在这个用户,返回真或则假
            SqlConnection con=db.con();
            con.Open();
            SqlCommand cmd
=new SqlCommand("select count(*) from admin where name='"+name+"' and pwd='"+pwd+"'",con);
            
int count=Convert.ToInt32(cmd.ExecuteScalar());
            
if(count>0
            
{
                
return true;
            }

            
else
            
{
                
return false;
            }

        }

        
public static string chkqx(string name,string pwd)
        
{//判断当前用户的权限,并返回权限
            SqlConnection con=db.con();
            con.Open();
            SqlCommand cmd
=new SqlCommand("select qx from admin where name='"+name+"' and pwd='"+pwd+"'",con);
            
string qx=Convert.ToString(cmd.ExecuteScalar());
            
return qx;
        }

        
public static DataTable fill(string query)
        
{//根据传来的SQL语句查询出数据并填充一个表给查询对象
            SqlConnection con=db.con();
            SqlDataAdapter sda
=new SqlDataAdapter();
            sda.SelectCommand
=new SqlCommand(query,con);
            DataSet ds
=new DataSet();
            sda.Fill(ds,
"vote");
            
return ds.Tables["vote"];
           
        }

        
public static string title(int ID)
        
{//(静态)根据传来的ID返回该投票项标题
            SqlConnection con=db.con();
            con.Open();
            SqlCommand cmd
=new SqlCommand("select xiang from votemaster where id='"+ID+"'",con);
            
return cmd.ExecuteScalar().ToString();
        }

        
public static void delete(string query)
        
{//(静态)执行指定的删除行为
            SqlConnection con=db.con();
            con.Open();
            SqlCommand cmd
=new SqlCommand(query,con);
            cmd.ExecuteNonQuery();
        }

        
public static void update(string query)
        
{//(静态)执行指定的更新行为
            SqlConnection con=db.con();
            con.Open();
            SqlCommand cmd
=new SqlCommand(query,con);
            cmd.ExecuteNonQuery();
        }

        
public static int cid(string query)
        
{//(静态)根据执行的语句查询出当前数据库最新的一个ID
            SqlConnection con=db.con();
            con.Open();
            SqlCommand cmd
=new SqlCommand(query,con);
            
int id=Convert.ToInt32(cmd.ExecuteScalar());
            
return id;
        }

        
public static bool insert(string query)
        
{//插入操作
            SqlConnection con=db.con();
            con.Open();
            SqlCommand cmd
=new SqlCommand(query,con);            
            
int count=Convert.ToInt32(cmd.ExecuteNonQuery());
            
if(count>0)
            
{
                
return true;
            }

            
else
            
{
                
return false;
            }

        }

        
public static int typ(int id)
        
{//根据出来的ID,返回该ID所属于的投票属于多选还是单选
            SqlConnection con=db.con();
            con.Open();
            SqlCommand cmd
=new SqlCommand("select typ from votemaster where id='"+id+"'",con);
            
int typ=Convert.ToInt32(cmd.ExecuteScalar());
            
return typ;
        }

        
public static string count()
        
{//返回总访问人数
            SqlConnection con=db.con();
            con.Open();
            SqlCommand cmd
=new SqlCommand("select coun from countline",con);
            
string count=cmd.ExecuteScalar().ToString();
            
return count;
        }

        
public static string rengyi(string query)
        
{//查询任意单字段,返回字段值的一个静态方法
            SqlConnection con=db.con();
            con.Open();
            SqlCommand cmd
=new SqlCommand(query,con);
            
return cmd.ExecuteScalar().ToString();
        }

        
public static bool vlog(string query)
        
{//查询任意单字段,返回真与假的一个静态方法
            SqlConnection con=db.con();
            con.Open();
            SqlCommand cmd
=new SqlCommand(query,con);
            
int count=Convert.ToInt32(cmd.ExecuteScalar());
            
if(count>0)
            
{
                
return true;
            }

            
else
            
{
                
return false;
            }

        }

Feedback

#1楼 [楼主]   回复  引用  查看    

2006-06-18 12:38 by 天轰穿      
觉得好就回复下了,帮偶赚点分,哈哈!

#2楼    回复  引用  查看    

2006-06-18 23:15 by 迷途小猪儿      
呵呵,还不错

#3楼 [楼主]   回复  引用  查看    

2006-06-19 08:44 by 天轰穿      
@迷途小猪儿

谢谢哦!!

#4楼    回复  引用    

2006-06-27 22:20 by nsstacking [未注册用户]
xuexixuexi^^^^^^^^^^^^^

#5楼    回复  引用    

2006-07-17 16:59 by yj [未注册用户]
谢谢分享,不过你用的连接类都没有带事务?呵呵

#6楼    回复  引用    

2006-08-31 14:04 by box菜菜 [未注册用户]
OleDbConnection 不是用来连接ACCESS数据库的吗?我要连到SQL2000是不是要改一下?

#7楼 [楼主]   回复  引用  查看    

2006-08-31 16:55 by 天轰穿      
@box菜菜

对,如果使用sql的话得增加 sql命名空间和改成 sqlConnection

#8楼    回复  引用  查看    

2006-09-11 17:16 by Alextao      
不错,哈哈,收藏了

#9楼    回复  引用    

2006-11-23 00:32 by wuhm [未注册用户]
为何数据库连接都不关闭,是否会自动关闭??

#10楼 [楼主]   回复  引用  查看    

2006-11-23 08:36 by 天轰穿      
@wuhm
切勿模仿,哈哈!

完整的做法应该是把connection command dataadapter dataset等设置为私有变量,然后专门一个方法来判断他们是否断开,否则释放或者断开.

#11楼    回复  引用    

2007-03-19 14:00 by rabbit [未注册用户]
不错

#12楼    回复  引用    

2007-05-24 17:59 by 王鸿凌 [未注册用户]
太有用了!~~~令我在有些事儿上茅塞顿开啊~~谢谢了~~

#13楼    回复  引用    

2007-06-07 17:02 by 范 [未注册用户]
在方法中,数据连接总是自动关闭,是不是太浪费资源了,对性能不太好。

#14楼    回复  引用    

2007-09-28 16:29 by 明天会更好 [未注册用户]
田哥,现在这个数据库连接类我都糊涂了,希望你能帮我解答一下,谢谢!
1、你上面的OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["book"].ConnectionString);
是Access等数据库的链接类,如果改用SQL是否就是直接将OleDb改成SQL即可?这种方式(不管是OLEDB还是SQL)都是在.NET2.0中使用?

2、SqlConnection con=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["con"]);这种方式是在.NET1.1中使用?

3、那有些资料中它又是这样连接的:SqlConnection conn = new SqlConnection("user id=sa;data source=localhost;persist security info=true;initial catalog=Northwind;password=sa");
这种连接方式与上面两种有什么区别?哪种连接方式较为标准(或者说哪一种好)?

#15楼    回复  引用    

2007-11-07 09:55 by libin [未注册用户]
public static bool insert(string que)
{ //根据传进来的SQL语句执行插入操作
OleDbConnection con = odb.con();
con.Open();
OleDbCommand cmd = new OleDbCommand(que,con);
int count = Convert.ToInt32(cmd.ExecuteNonQuery());
if (count > 0)
return true;
else
return false;
}
public static DataTable ds(string que)
{//返回一个装载了SQL制定留言的数据表,
OleDbConnection con = odb.con();
OleDbDataAdapter oda = new OleDbDataAdapter();
oda.SelectCommand=new OleDbCommand(que,con);
DataSet ds = new DataSet();
oda.Fill(ds,"thc");
return ds.Tables["thc"];
}
public static bool img(string que)
{//根据传来的条件查询该项是否有内容,有就返回true
OleDbConnection con = odb.con();
con.Open();
OleDbCommand cmd = new OleDbCommand(que,con);
if (cmd.ExecuteScalar().ToString() != "")
return true;
else
return false;
}
public static string scr(string que)
{//同样是根据传来的SQL语句返回一个字段的值,我不太喜欢把SQL语句做在内中,感觉不灵活
OleDbConnection con = odb.con();
con.Open();
OleDbCommand cmd = new OleDbCommand(que,con);
return cmd.ExecuteScalar().ToString();
}
这些中的odb是么玩意?怎么没有定义就用了?