字段初始值无法引用非静态字段、方法或属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字段初始值无法引用非静态字段、方法或属性相关的知识,希望对你有一定的参考价值。
//类文件源码如下
class DataB
const string strConn= ConfigurationManager.ConnectionStrings["conn"].ToString();
public DataB()
public DataSet ExecuteSelect(string strSql, string strTableName)
SqlConnection conn = new SqlConnection(strConn);
SqlCommand com = conn.CreateCommand();
com.CommandText = strSql;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = com;
DataSet ds = new DataSet();
conn.Open();
da.Fill(ds, strTableName);
conn.Close();
return ds;
部分原码如下
DataB md=new DataB();
DataSet Ds=md.ExecuteSelect("select * from TiLine","TiLine");
提示:md 字段初始值无法引用非静态字段、方法或属性 求高手解答
这一句的问题..... 改成
public DataSet ExecuteSelect(string strSql, string strTableName) SqlConnection conn = new SqlConnection( ConfigurationManager.ConnectionStrings["conn"].ToString()); SqlCommand com = conn.CreateCommand(); com.CommandText = strSql; SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = com; DataSet ds = new DataSet(); conn.Open(); da.Fill(ds, strTableName); conn.Close(); return ds;
改成这样儿哦.... 亲。。。。。听我的没错儿...... 把你, ExecuteSelect 的那个,strCon 替换为ConfigurationManager.ConnectionStrings["conn"].ToString() 就可以了追问
试过了 不可以,愁死我了都
参考技术B 看看你的DataB的定义,有可能是静态的,如果是就应该写成:DataSet Ds=DataB.ExecuteSelect("select * from TiLine","TiLine");追问不可以,还是相同的错误
追答能把你的datab类贴出来吗?主要贴datab类定义和ExecuteSelect方法
追问已经贴出来了啊
DataB md=new DataB();DataSet Ds=md.ExecuteSelect("select * from TiLine","TiLine");
上面那段代码就是的
const string strConn= ConfigurationManager.ConnectionStrings["conn"].ToString();
去掉const,就解决了,我测试了你这段代码没问题,
字段初始值设定项无法引用非静态字段、方法或属性
public partial class Form1 : Form public Form1() InitializeComponent(); string str; SqlConnection sqlcon = new SqlConnection(str); //调试时错误提示:“字段初始值设定项无法引用非静态字段、方法或属性始值” public void con() SqlConnection sqlcon = new SqlConnection(str); //同样的语句复制到方法体内却可以运行 我知道解决方法,但不明白这是为什么,求高手指点,上面的代码,在方法体外和方法体内有什么区别,为什么方法体外不能调用非静态变量,而方法内可以,为什么前面的出错,后面的不出错 。求教……
参考技术A stringstr;
SqlConnection
sqlcon
=
new
SqlConnection(str);
//调试时错误提示:“字段初始值设定项无法引
亲,他说的很清楚啊,你定义了str,但是你没给他赋值,要这样写
string
str
=
@"server=localhost;database=test;uid=sa;pwd=sa";
SqlConnection
sqlcon
=
new
SqlConnection(str);
这要就不会报错了。
以上是关于字段初始值无法引用非静态字段、方法或属性的主要内容,如果未能解决你的问题,请参考以下文章