CS0246: 找不到类型或命名空间名称“SCard”(是否缺少 using 指令或程序集引用?)  请大哥大姐来帮帮忙

sskeyial 2008-02-25 09:23:45
我在App_Code/db.cs下写以下代码

using System;
using System.Data;
using System.Configuration;
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;

namespace SCard
{
/// <summary>
/// db 的摘要说明
/// </summary>
public class db //: System.Web.UI.Page
{
public db()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static SqlConnection conn()
{//数据库连接类
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
return conn;
}
public static bool ExeSql(string que)
{ //根据传进来的SQL语句执行插入/删除/更新等操作
SqlConnection Conn = db.conn();
Conn.Open();
SqlCommand cmd = new SqlCommand(que, Conn);
int count = Convert.ToInt32(cmd.ExecuteNonQuery());
if (count > 0)
return true;
else
return false;
}
}
}


在login.cs 后台代码调用

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;

public partial class admin_login_login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
txtCheckCode.Attributes.Add("onclick", "return CheckCodeFun();");
Response.Write(!IsPostBack);
if (!IsPostBack == false)
{
Login();
}
}
protected void Login()
{
string HuiYuan = txtHuiYuan.Text.ToString();
string PassWord = txtPassWord.Text.ToString();
string CheckCode = txtCheckCode.Text.ToString();
if (HuiYuan == "")
{
Response.Write("<script>alert('用户名不能是空');location.href='Login.aspx'</script>");
Response.End();
}

if (PassWord == "")
{
Response.Write("<script>alert('密码不能是空');location.href='Login.aspx'</script>");
Response.End();
}

if (CheckCode != Session["CheckCode"].ToString())
{
Response.Write("<script>alert('验证码有错,请注意大小写');location.href='Login.aspx'</script>");
Response.End();
}

//db mdb = new db();
SCard.db myDB = new SCard.db();//这行提示:CS0246: 找不到类型或命名空间名称“SCard”(是否缺少 using 指令或程序集引用?) //myDB.conn();
string txtSql = "select * from ad";
if (myDB.ExeSql(txtSql))
{
Response.Write("<script>alert('记录!');</script>");
//Response.Write("<script>alert('添加记录成功!');</script>");
}
}
protected void CheckCodeFun()
{
txtCheckCode.Text = "";
}
}

不如知道怎么解决,请大家帮忙,谢谢诸位了
...全文
1396 46 打赏 收藏 转发到动态 举报
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
daiguoxin 2008-12-19
  • 打赏
  • 举报
回复
哈哈,这个问题我也遇到过,提示找不到的层,那个层中应该有错误,导致相应的dll文件没有添加到bin文件夹中。改掉错误后,重新添加就可以了,还有就是,如果出错的层的应用层出现错误,也会导致添加不进来的。同样出现这样的错误。

层就是项目
daiguoxin 2008-12-19
  • 打赏
  • 举报
回复
哈哈,这个问题我也遇到过,提示找不到的层,那个层中应该有错误,导致相应的dll文件没有添加到bin文件夹中。改掉错误后,重新添加就可以了,还有就是,如果出错的层的应用层出现错误,也会导致添加不进来的。同样出现这样的错误。

sskeyial 2008-02-26
  • 打赏
  • 举报
回复
多谢大家的帮助
lovehongyun 2008-02-26
  • 打赏
  • 举报
回复
添加引用
virusswb 2008-02-26
  • 打赏
  • 举报
回复
怎么解决?SCard是你的第三方控件库吧
你应用啊
添加应用啊
活靶子哥哥 2008-02-26
  • 打赏
  • 举报
回复
添加引用~
sskeyial 2008-02-25
  • 打赏
  • 举报
回复
那要是把网站放在子目录下面,那app_code 该怎么设置呢??总不能去改虚拟根目录下的app_code文件吧
symbol441 2008-02-25
  • 打赏
  • 举报
回复
参考wuyi8808 ,编译为DLL,放bin目录下比较好
---
这种方式当然可行,不过并不利用到asp.net2.0中app_code的方便快捷

不知道是如何理解的,一个网站对应一个网站虚拟目录,web.config必须在网站根目录下
sskeyial 2008-02-25
  • 打赏
  • 举报
回复
多谢谢大家的帮助问题CS0246: 找不到类型或命名空间名称“SCard”(是否缺少 using 指令或程序集引用?)解决了

现在分加了不,系统提示:要1后才能加
Go 旅城通票 2008-02-25
  • 打赏
  • 举报
回复
参考wuyi8808 ,编译为DLL,放bin目录下比较好
sskeyial 2008-02-25
  • 打赏
  • 举报
回复
多谢 32 楼 zhuanshen712

上面的问题解决了 出来了新的问题了

我的网站不是放在虚拟根目录下的:如 

aspx --虚拟根目录
 web 我用的网站目录
--web.Config

现在我把 App_Code 放在aspx虚拟根目录下了,我的数据据连接不起用了

public static SqlConnection conn()
{//数据库连接类
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
return conn;
}

是调用 web.Config文件下的代码 

<connectionStrings>
<add name="MyConnectionString" connectionString="Data Source=PC-4901359;Initial Catalog=aaa;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

现在目录不同了数据库调用出错了
zhuanshen712 2008-02-25
  • 打赏
  • 举报
回复
SCard.db myDB = SCard.db();
肯定不对,不符合C#语法。
======
恩,对对,小弟知错了,多谢指点。
======
我认为他这个类里面都是静态的方法,用哪个方法到时候直接用就行了,为什么要实例化呢?我感觉有点多此一举。
symbol441 2008-02-25
  • 打赏
  • 举报
回复

asp.net2.0中App_Code 目录中的所有代码文件都将在运行时动态编译,然后提供给应用程序
注意:App_Code文件夹要放在虚拟空间的根目录"/"下面
zhuanshen712 2008-02-25
  • 打赏
  • 举报
回复
哦,对了,上面错了,根本就不用给myDB附值,而是在用到这个函数的时候直接用。
如,你这个返回的是一个bool类型的,就直接:Bool s=SCard.ExeSql(str);
====
这个db()不是一个构造函数吗?而且好像是个空的,你实例化它,又有什么用呢?
wuyi8808 2008-02-25
  • 打赏
  • 举报
回复
不用加QQ,你生成.dll文件,然后copy到网站bin文件夹下就行了。
sskeyial 2008-02-25
  • 打赏
  • 举报
回复
你加我QQ吧 67659772
wuyi8808 2008-02-25
  • 打赏
  • 举报
回复
26楼:
SCard.db myDB = SCard.db();
肯定不对,不符合C#语法。
wuyi8808 2008-02-25
  • 打赏
  • 举报
回复
如果只有一个.cs文件,可以不用生成.dll。如果有多个.cs,则必需生成.dll,然后上传到网站根目录的bin文件夹下。
zhuanshen712 2008-02-25
  • 打赏
  • 举报
回复
SCard.db myDB = new SCard.db();//不要用new 直接用看行不行:如下:
SCard.db myDB = SCard.db();
==============
为什么不试试呢?我觉得,你定义的是静态的方法,不能像普通类一样,用new来实例化。
wuyi8808 2008-02-25
  • 打赏
  • 举报
回复
在命令行下:
[code=BatchFile]csc /out:login.dll /t:library login.cs App_Code/db.cs[/code]
然后把login.dll上传到网站根目录的bin文件夹下。
加载更多回复(26)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧