读书人

cmd.ExecuteNonQuery()返回0 数据插入

发布时间: 2012-03-24 14:00:46 作者: rapoo

cmd.ExecuteNonQuery()返回0 数据插入不成功 急急急 求各位大大看看
//数据操作的公共类
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;

namespace DAL
{
public class SqlAccess
{


private static string connStr = @"server=CHINA-6F2289564;database=DiagSys;uid=sa;pwd=;";
//private static string connStr = @"server=.;database=DissSys;uid=sa;pwd=xingjian;";
//private static string connStr = @"server=My-PC\SQL2005;database=DissSys;uid=sa;pwd=xingjian;";



private static SqlConnection conn = new SqlConnection(connStr);
//获取联接对象
public static SqlConnection GetConn()
{

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

}

public static void CloseCon()
{
conn.Close();
}

//获取查询结果记录集的dataSet对象
public static DataSet GetDataSet(string sqlStr)//,string tableName)
{
//SqlCommand cmd=new SqlCommand(sqlStr,GetConn());
SqlDataAdapter adapter = new SqlDataAdapter(sqlStr, GetConn());
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds;
}

public static DataSet GetDataSet(string sqlStr,string tableName)
{
//SqlCommand cmd = new SqlCommand(sqlStr, GetConn());
SqlDataAdapter adapter = new SqlDataAdapter(sqlStr, GetConn());
DataSet ds = new DataSet();
adapter.Fill(ds,tableName);
return ds;
}

//插入记录
public static int ExecteNonQuery(string sqlStr)
{
int res = 0;
SqlCommand cmd = new SqlCommand(sqlStr, GetConn());

res = cmd.ExecuteNonQuery();
try
{
res = cmd.ExecuteNonQuery();
}
catch
{
res = 0;
}
CloseCon();
return res;
}
}
}




//数据操作的页面(执行操作)

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using DAL;

public partial class Admin_dissNameAddBtn : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
/*病名添加按钮后台处理*/

//string dissName = Request.QueryString["dissName"];
string dissName = "肺炎";
//string dissName = Server.UrlDecode(Request.QueryString["dissName"]).ToString().Replace(")", "").Replace("--", "").Replace(",", "");
string sqlStr = "insert into dissInfo(diss_name)values('" + dissName + "')";
int res = 0;
try
{



res = SqlAccess.ExecteNonQuery(sqlStr);



}
catch
{
SqlAccess.CloseCon();

Response.Write("0");
Response.End();
}
//添加成功查询出ID并返回
if (res > 0)
{
string sqlStr1 = "select diss_id from dissInfo where diss_Name='" + dissName + "'";
DataSet ds = new DataSet();
ds = SqlAccess.GetDataSet(sqlStr1);
if (ds.Tables[0].Rows.Count > 0)
{
res = int.Parse(ds.Tables[0].Rows[0][0].ToString());
Response.Write(res.ToString());
Response.End();
}
else
{
Response.Write("1");
Response.End();
}
}
else
{
Response.Write(res.ToString());
//Response.Write("2");
Response.End();
}
}
}


弄了很久 没看出哪里有错~ 求解

[解决办法]
//插入记录
public static int ExecteNonQuery(string sqlStr)
{
int res = 0;
SqlCommand cmd = new SqlCommand(sqlStr, GetConn());

res = cmd.ExecuteNonQuery();
try
{
res = cmd.ExecuteNonQuery();
}
catch
{
res = 0;
}
CloseCon();
return res;
}

你这里执行了2次ExecuteNonQuery?
你在catch里面输出错误信息看是什么

catch(Exception ex)
{
res = 0;
System.Web.HttpContext.Current.Response.Write(ex.Message);
}
[解决办法]
你把sql语句写成string sqlStr = "insert into";看看,是不是还是没报错,返回0?

读书人网 >asp.net

热点推荐