一个类调用另一个类的问题

weiqiaoxyz 2008-05-08 01:29:03
Global_Class.cs
---------------------
public class Global_Class
{
public string strMessage;

public class Class
{
public static void Response_End(string strMessage)
{
HttpContext.Current.Response.Write(strMessage);
HttpContext.Current.Response.End();
}

public readonly static string strConn = Get_Conn();

private static string Get_Conn()
{
string strConn = "";

try
{
strConn = ConfigurationManager.ConnectionStrings["连接数据库"].ToString();
}
catch
{
Response_End("数据库连接配置错误!");
}

return strConn;
}
}
}

Register.cs
-----------------
public class Register
{
public void Check_Person(out string strMessage, string personname)
{
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
SqlTransaction tran = conn.BeginTransaction();
SqlCommand comm = new SqlCommand("Register_Check", conn);
comm.Transaction = tran;

try
{
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add("@strMessage", SqlDbType.NVarChar, 1000).Direction = ParameterDirection.Output;
comm.Parameters.Add("@personname", SqlDbType.NVarChar, 50).Value = personname;
comm.ExecuteNonQuery();

strMessage = comm.Parameters["@strMessage"].Value.ToString();
tran.Commit();
}
catch (Exception Message)
{
strMessage = "连接服务失败,详细(" + Message.Message.ToString() + ")";
tran.Rollback();
}

conn.Close();
}
}



问题是:这样提示Register.cs错误
11 当前上下文中不存在名称“strConn” F:\vs2005\App_Code\Register.cs


这是怎么回事???
...全文
443 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
justxd 2008-05-08
  • 打赏
  • 举报
回复
[Quote=引用 35 楼 net_xiaojian 的回复:]
看快了点。顶楼上楼上的。
[/Quote]
feiyezi 2008-05-08
  • 打赏
  • 举报
回复
把你的cs文件都放到你项目文件的app_code文件夹里面(没有就新建一个文件夹)
试试看
net_xiaojian 2008-05-08
  • 打赏
  • 举报
回复
看快了点。顶楼上楼上的。
net_xiaojian 2008-05-08
  • 打赏
  • 举报
回复
能写出这东西?

"Response_End("数据库连接配置错误!"); "
skyaspnet 2008-05-08
  • 打赏
  • 举报
回复
我改写了, 你的写法有比较多的问题, 其实很简单就可实现

Global_Class.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;

/// <summary>
/// Global_Class 的摘要说明
/// </summary>
public class Global_Class
{
public string strMessage;
public string strConn;

public Global_Class() //构造函数内初始化值
{
strConn = ConfigurationManager.ConnectionStrings["连接数据库"].ToString();
}

public static void Response_End(string strMessage)
{
HttpContext.Current.Response.Write(strMessage);
HttpContext.Current.Response.End();
}
}





Register.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;

/// <summary>
/// Register 的摘要说明
/// </summary>
public class Register
{
public void Check_Person(out string strMessage, string personname)
{
Global_Class glb = new Global_Class();
SqlConnection conn = new SqlConnection(glb.strConn);
conn.Open();
SqlTransaction tran = conn.BeginTransaction();
SqlCommand comm = new SqlCommand("Register_Check", conn);
comm.Transaction = tran;

try
{
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add("@strMessage", SqlDbType.NVarChar, 1000).Direction = ParameterDirection.Output;
comm.Parameters.Add("@personname", SqlDbType.NVarChar, 50).Value = personname;
comm.ExecuteNonQuery();

strMessage = comm.Parameters["@strMessage"].Value.ToString();
tran.Commit();
}
catch (Exception Message)
{
strMessage = "连接服务失败,详细(" + Message.Message.ToString() + ")";
tran.Rollback();
}

conn.Close();
}
}



我这边已经调试通过, 你试一下
skyaspnet 2008-05-08
  • 打赏
  • 举报
回复
加QQ 343397317, 我看一下, 看能帮上你不, 帖子看得太吃力
yunfeng007 2008-05-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 weiqiaoxyz 的回复:]
引用 2 楼 ysn1314 的回复:
Global_Class.strConn 这样写才对吧?
直接写strConn当然提示找不到了~


点不出来.
Global_Class.Class.strConn只有这样..但这样又提示其他的错误了:

错误 1 “ASP.aspx_register_aspx.GetTypeHashCode()”: 没有找到适合的方法来重写 c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\f9a11ab1\4a908546\App_Web_rratmemb.2.cs 171

错误 2 “ASP.a…
[/Quote]

提示你这样的错误,你增加命名空间的了吧?
你看看这篇文章吧
http://www.cnblogs.com/sliuqin/archive/2007/05/24/757947.html
gen06 2008-05-08
  • 打赏
  • 举报
回复
搞錯了
gen06 2008-05-08
  • 打赏
  • 举报
回复
Global_Class.strConn=glbClass.strConn;
钊xsun 2008-05-08
  • 打赏
  • 举报
回复
你都不看我说的,那没办法了.你接着想吧
weiqiaoxyz 2008-05-08
  • 打赏
  • 举报
回复
Global_Class glbClass = new Global_Class();
strConn=glbClass.strConn;

这个地方的得加string吧??

加了以后就出错..

不加就提示
1 当前上下文中不存在名称“strConn” F:\vs2005\App_Code\Register.cs 65 9 http://localhost:82/
钊xsun 2008-05-08
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 weiqiaoxyz 的回复:]
引用 22 楼 leaohong 的回复:
类中套类干吗,把public class Class 去掉,
用public class Register
{
public void Check_Person(out string strMessage, string personname)
{
Global_Class glbClass = new Global_Class();
strConn=glbClass.strConn;
SqlConnection conn = new SqlConnection(strConn);


改了还是不行...

同样提示…
[/Quote]
大哥,你这样做,肯定行,我帮你测试通过了,可以找得到strconn,至于其他方面的话,那就要看你自己写的对不对了.
public void Check_Person(out string strMessage, string personname)
{
SqlConnection conn = new SqlConnection(Global_Class.Class.strConn);
conn.Open();
SqlTransaction tran = conn.BeginTransaction();
SqlCommand comm = new SqlCommand("Register_Check", conn);
comm.Transaction = tran;

try
{
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add("@strMessage", SqlDbType.NVarChar, 1000).Direction = ParameterDirection.Output;
comm.Parameters.Add("@personname", SqlDbType.NVarChar, 50).Value = personname;
comm.ExecuteNonQuery();

strMessage = comm.Parameters["@strMessage"].Value.ToString();
tran.Commit();
}
catch (Exception Message)
{
strMessage = "连接服务失败,详细(" + Message.Message.ToString() + ")";
tran.Rollback();
}

conn.Close();
}
是这句:Global_Class.Class.strConn你去试下
weiqiaoxyz 2008-05-08
  • 打赏
  • 举报
回复
顶顶顶...
leaohong 2008-05-08
  • 打赏
  • 举报
回复


Global_Class.cs
---------------------
public class Global_Class
{
public string strMessage;

public static void Response_End(string strMessage)
{
HttpContext.Current.Response.Write(strMessage);
HttpContext.Current.Response.End();
}

static string strConn = Get_Conn();

private static string Get_Conn()
{
string strConn = "";

try
{
strConn = ConfigurationManager.ConnectionStrings["连接数据库"].ToString();
}
catch
{
Response_End("数据库连接配置错误!");
}

return strConn;
}

}

Register.cs
-----------------
public class Register
{
public void Check_Person(out string strMessage, string personname)
{
Global_Class glbClass = new Global_Class();
strConn=glbClass.strConn;

SqlConnection conn = new SqlConnection(strConn);
conn.Open();
SqlTransaction tran = conn.BeginTransaction();
SqlCommand comm = new SqlCommand("Register_Check", conn);
comm.Transaction = tran;

try
{
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add("@strMessage", SqlDbType.NVarChar, 1000).Direction = ParameterDirection.Output;
comm.Parameters.Add("@personname", SqlDbType.NVarChar, 50).Value = personname;
comm.ExecuteNonQuery();

strMessage = comm.Parameters["@strMessage"].Value.ToString();
tran.Commit();
}
catch (Exception Message)
{
strMessage = "连接服务失败,详细(" + Message.Message.ToString() + ")";
tran.Rollback();
}

conn.Close();
}
}



这样总行了吧?
weiqiaoxyz 2008-05-08
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 leaohong 的回复:]
类中套类干吗,把public class Class 去掉,
用public class Register
{
public void Check_Person(out string strMessage, string personname)
{
Global_Class glbClass = new Global_Class();
strConn=glbClass.strConn;
SqlConnection conn = new SqlConnection(strConn);
[/Quote]

改了还是不行...

同样提示3楼的错误!
leaohong 2008-05-08
  • 打赏
  • 举报
回复
类中套类干吗,把public class Class 去掉,
用public class Register
{
public void Check_Person(out string strMessage, string personname)
{
Global_Class glbClass = new Global_Class();
strConn=glbClass.strConn;
SqlConnection conn = new SqlConnection(strConn);
weiqiaoxyz 2008-05-08
  • 打赏
  • 举报
回复
MARK...

weiqiaoxyz 2008-05-08
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 leaohong 的回复:]
汗里面还有类啊
public class Register
{
public void Check_Person(out string strMessage, string personname)
{
Global_Class glbClass = new Global_Class();
strConn=glbClass.class.strConn;
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
SqlTransaction tran = conn.BeginTransaction();
SqlCommand comm = ne…
[/Quote]

glbClass.后面没有CLASS...


郁闷了...


TO:phper2008

按你的也不行..
gen06 2008-05-08
  • 打赏
  • 举报
回复
......
是類中類
phper2008 2008-05-08
  • 打赏
  • 举报
回复
欠套类:
public string strMessage;
//将这个变量放欠套类外部
public readonly static string strConn = Class.Get_Conn();
public class Class
{

}

那个Register就可以不改了!
加载更多回复(16)

62,046

社区成员

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

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

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

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