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

数据插不进数据库,麻烦大家帮帮忙,多谢

2013-04-20 
数据插不进数据库,麻烦大家帮帮忙,谢谢下面是代码:web.config:(配置文件)?xml version1.0?!--有关如

数据插不进数据库,麻烦大家帮帮忙,谢谢
下面是代码:
web.config:(配置文件)

<?xml version="1.0"?>
<!--
  有关如何配置 ASP.NET 应用程序的详细信息,请访问
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=服务器;Initial Catalog=testonline;User ID=sa;Password=密码"
        providerName="System.Data.SqlClient" />
  </connectionStrings>
  
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies></compilation>
</system.web>

 

</configuration>


DB类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Security.Cryptography;

/// <summary>
///DB 的摘要说明
/// </summary>
public class DB
{
    public SqlConnection getcon()
    {
        return new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
    }
    public int sqlex(string cmdstr)
    {
        SqlConnection con =getcon();
        con.Open();
        SqlCommand cmd = new SqlCommand(cmdstr,con);
        try
        {
            cmd.ExecuteNonQuery();
            return 1;
        } 
        catch (Exception e)
        {
            return 0;
        }
        finally
        {
            con.Dispose();
        }
    }

public string getmd5(string strpwd)
    {
        MD5 md5 = new MD5CryptoServiceProvider();
        byte[] data = System.Text.Encoding.Default.GetBytes(strpwd);
        byte[] md5data = md5.ComputeHash(data);
        md5.Clear();
        string str="";
        for (int i = 0; i < md5data.Length - 1; i++)
        {
            str += md5data[i].ToString("x").PadLeft(2, '0');


        }
        return str;
    }

register.aspx.cs:(注册页面后台)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Security.Cryptography;

public partial class register : System.Web.UI.Page
{
    int realue;
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        DB db = new DB();
        string username = this.regname.Text.Trim();
        string pwd = db.getmd5(this.regpwd.Text.Trim());
        string cmdstr = "insert into login(name,password) value('" + username + "','" + pwd + "')";
        try
        {
            realue=db.sqlex(cmdstr);
            if ( realue== 1)
            {
                Response.Write("<script>alert('注册成功');</script>");
            }
            else if(realue==0)
            {
                Response.Write("<script>alert('注册失败');</script>");
            }
        }
        catch (Exception )
        {
            Response.Write("<script>alert('注册失败');</script>");
        }
    }
    protected void Button2_Click(object sender, EventArgs e)
    {

    }
}

代码没报错,但运行输入数据点注册时却弹出“注册失败”,打开数据库也没有数据插入,纠结啊、、、、,大家帮帮忙吧,谢谢大家、、、
[解决办法]

引用:
改了values还是不行

调试吧,把你那sql语句打印出来,放到数据库里看能不能执行

数据插不进数据库,麻烦大家帮帮忙,多谢
[解决办法]
把catch块改成这个然后把消息贴上来


catch (Exception ex)
{
    Response.Write("<script>alert('"+ex.Message+"');</script>");
}

[解决办法]
在sqlex的catch里把异常抛出来才行
[解决办法]
把数据表换个名字试试,以前用一个叫user的表,一直出现问题,重命名就好了!
[解决办法]
你屏蔽了异常,  public int sqlex(string cmdstr) 这个方法 
catch (Exception e)
         {
             return 0;改为 throw e;
         }
[解决办法]
那要查一下表结构了,比如,是不是有一些不能为空的字段没有付值。
[解决办法]
con.Dispose() -- con.Close()

热点排行