当前位置:编程学习 > C#/ASP.NET >>

【菜鸟】登陆的时候发生错误

找不到存储过程 'dbo.aspnet_CheckSchemaVersion'。

我在网上也找了下解决方案,就是使用sqlreg.exe配置。没用

贴下我的代码,帮忙看下数据库连接和后台有什么问题吗?
using System.Data.SqlClient;
using System.Configuration;

public partial class Account_Login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        RegisterHyperLink.NavigateUrl = "Register.aspx?ReturnUrl=" + HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]);
        string U_Name = LoginUser.UserName.ToString();
        string U_Password = LoginUser.Password.ToString();
        SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\cjx7758.mdf;Integrated Security=True;User Instance=True");

       
        //conn.ConnectionString = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
        SqlCommand cmd = conn.CreateCommand();
        cmd.CommandText = "select * from Users where UserName='" + U_Name + "'";
        conn.Open();
        SqlDataReader reader = cmd.ExecuteReader();

        if (reader.Read())
        {
            if (U_Password == reader.GetString(reader.GetOrdinal("Password")))
           {
               Response.Write("登陆成功!");
           }
            else
                Response.Write("密码错误!");
        }
        else
            Response.Write("用户名不存在!");

    }
}
--------------------编程问答-------------------- 你就没有'dbo.aspnet_CheckSchemaVersion'  也没见用 存储过程啊 --------------------编程问答--------------------
引用 1 楼  的回复:
你就没有'dbo.aspnet_CheckSchemaVersion'  也没见用 存储过程啊


刚开始学,储存过程该怎么用呢?? --------------------编程问答-------------------- asp.net的membership provider需要创建它需要的表和存储过程:
运行

 C:\WINDOWS\Microsoft.NET\Framework\<版本>\aspnet_regsql.exe

具体步骤参考:
http://weblogs.asp.net/scottgu/archive/2005/08/25/423703.aspx --------------------编程问答-------------------- 然后确保 你的ConnectionString指向了正确的数据库。并且数据库中的aspnet_Membership这样的表已经建立了。
--------------------编程问答-------------------- 楼主想问怎么建存储过程吗?还是怎么用呢?


//1 如何创建存储过程
user testdatabase(数据库名称)
go
create procedure testname(存储过程名称)

@test1 int, @test2 nvarchar(50)
as

insert into testtable values(@test1,@test2)
return

//2 下面是如何使用
  public bool addWarehouse(string name, string Address, string Telephone, string Leader)
        {
          SqlCommand cmd = new SqlCommand();
           cmd.CommandType = CommandType.StoredProcedure;//cmd的类型为存储过程
            cmd.CommandText = "addwarehouse";//存储过程名称
            cmd.Parameters.Clear();
            cmd.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = name;
            cmd.Parameters.Add("@Address", SqlDbType.NVarChar, 100).Value = Address;
            cmd.Parameters.Add("@Telephone", SqlDbType.NChar, 10).Value = Telephone;
            cmd.Parameters.Add("@Leader", SqlDbType.NChar, 10).Value = Leader;
            int d = dataaccess.ExecuteSQL(cmd);
            if (d > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
--------------------编程问答--------------------
引用 5 楼  的回复:
楼主想问怎么建存储过程吗?还是怎么用呢?


C# code

//1 如何创建存储过程
user testdatabase(数据库名称)
go
create procedure testname(存储过程名称)

@test1 int, @test2 nvarchar(50)
as

insert into testtable values(@test1,@test2)……


//引用上面的方法!
 if (addWarehouse("", "", "",""))
        {
                          Response.Write("登陆成功!");
         }
        else
           {
            Response.Write("失败!");
           }


补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,