首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

cmd.ExecuteNonQuery()返回0 数据插入不成功 急 求各位大大看看,该如何解决

2012-03-24 
cmd.ExecuteNonQuery()返回0 数据插入不成功 急急急 求各位大大看看//数据操作的公共类using Systemusing

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?

热点排行