日期:2014-05-19  浏览次数:20519 次

数据插入操作问题
为什么数据添加不进去呢?数据连接是没有问题的,进行插入操作数据更新不了,也没有错误提示。我的数据库表了只有两个字段   Name,PassWord.
private   void   btnadd_Click(object   sender,   System.EventArgs   e)
{
string   name=this.txtname.Text.Trim();
string   pwd=this.txtpwd.Text.Trim();
pwd=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "MD5 ");
string   sql= "insert   into   admin   values( ' "+name+ " ', ' "+pwd+ " ') ";
(new   OleDbConn()).Insert(sql,null);
Response.Write((new   OleDbConn()).ErorrMessage);
//Response.Redirect( "Default.aspx ");


}


public   class   OleDbConn
{
public   OleDbConn()
{
//
//   TODO:   在此处添加构造函数逻辑
//
}

private   string   ErrStr;
private   OleDbConnection   conn;
private   int   count;

public   string   ErorrMessage
{
get
{
return   ErrStr;
}
}

public   OleDbConnection   oledbconn()
{
ErrStr= " ";
try
{

string   connstr=System.Configuration.ConfigurationSettings.AppSettings[ "ConnStr "].ToString()+System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings[ "DbPath "].ToString());
return   new   OleDbConnection(connstr);
}

catch(Exception   e)
{
ErrStr= "数据连接失败 "+e.Message;
return   null;
}
}


public   bool   Update(string   sql,OleDbConnection   Conn)
{
ErrStr= " ";
if(conn==null)
{
conn=this.oledbconn();
}
else
{
conn=Conn;
}

try
{
if(conn.State==ConnectionState.Closed)
{
conn.Open();
}

OleDbCommand   cmd=new   OleDbCommand(sql,conn);
cmd.CommandType=CommandType.Text;
count=cmd.ExecuteNonQuery();
return   !(count <1);
}
catch(Exception   e)
{
ErrStr= "数据更新失败 "+e.Message;
return   false;
}
finally
{
if(conn.State!=ConnectionState.Closed)
{
conn.Close();
}
}


}


public   bool   Insert(   string   sql,OleDbConnection   Conn)
{
return   this.Update(sql,Conn);
}


}



------解决方案--------------------
string sql= "insert into admin values( ' "+name+ " ', ' "+pwd+ " ') ";

string sql= "insert into admin(Name,PassWord) values( ' "+name+ " ', ' "+pwd+ " ') ";
------解决方案--------------------
进行插入操作数据更新不了
-------------------------
是数据不能写入表里,还是怎么

count=cmd.ExecuteNonQuery();
调试时 count值 为多少
------解决方案--------------------
这种问题一是看数据库链接有没有问题:
再就是看你的values值的数据类型与数据库中的设计是不是有一致;
还有就是sql语句确定没有任何问题:


------解决方案--------------------
先不要try catch 看看有没有其他信息

单步调式,看看Sql语句直接在数据库中执行是否成功