判断数据库中有数据就更新数量 没有就插入数据??
我在写热门搜索` 
 思路是用一张SQL表   存用户能搜到结果大于1的搜索字    
 但遇到一问题就是如果数据库中已经有了该关键字那不就重复了? 
 我的代码这样写的`:   
                         int   newcount   =   1; 
                         try 
                         { 
                                     SqlCommand   upcount   =   new   SqlCommand( "update   aspnet_HotSearch   set   Count   =   Count+1   Where   KeyWord= ' "   +   key   +    " ' ",mysqlSqlConnection); 
                                     upcount.ExecuteNonQuery(); 
                         } 
                         catch 
                         { 
                                     SqlCommand   intoKey   =   new   SqlCommand( "insert   into   aspnet_Hot(Key,Count)   value( ' "   +   key   +    " ', ' "   +   newcount   +    " ') ",   mysqlSqlConnection); 
                                     intoKey.ExecuteNonQuery(); 
                         }   
 但无用   所以请教下`该如何写` 
 顺便看看热门搜索`有没有更好的思路?
------解决方案--------------------写成存储过程,在存储过程里判断
------解决方案--------------------怎么能用try...catch来判断呢,你不要效率么. 
 把插入跟更新分别写成方法.用IF去判断该调用哪个
------解决方案--------------------lz写个触发器,在每次插入的时候检查是否已经存在要插入的数据,如果存在则更新改记录
------解决方案--------------------写过存储过程,利用存储过程的返回值来判断是更新还是插入
------解决方案--------------------up..
------解决方案--------------------写3个方法:查找,更新,插入 
 先用查找判断存不存在,一般不存在会返回-1,存在会返回找到的条数; 
 然后用 
 if(num==-1){插入;}else{更新;}