问题描述
我用asp.net(c#)编写了一些应用程序,这是我的问题。
此代码(带有注释字符串行)效果很好:当我打开这个页面
在Internet Explorer中我在DataGrid2中获取了一些数据来自我的数据库...
....
.. ..
OleDbConnection OleDbConn = new
OleDbConnection(ConfigurationSettings.AppSettings [" connstr]);
string selectString =" SELECT * FROM myTable"
OleDbCommand myOleDbCommand = OleDbConn.CreateCommand();
myOleDbCommand.CommandText = selectString;
OleDbDataAdapter myOleDbDataAdapter = new OleDbDataAdapter();
myOleDbDataAdapter.SelectCommand = myOleDbCommand;
DataSet myDataSet = new DataSet();
myOleDbDataAdapter.Fill(myDataSet);
//字符串s =(字符串)myDataSet.Tables [" myTable"]。行[0] [ " myColumn"];
DataGrid2.Da taSource = myDataSet;
DataGrid2.DataBind();
......
......
问题:如果我取消注释字符串行,然后我收到此
行的错误消息(
对象引用未设置为对象的实例)当我尝试打开
这个页面在Internet Explorer中。
我在我的数据库表myTable中,在这个表中我有列
myColumn,并在此
列我肯定是第一行(索引为0),但它不起作用......为什么?
请帮助...谢谢...
我建议你在调试器中或用类似的东西检查句子:
DataTable table = myDataSet.Tables [" myTable"];
DataRow row = table.Rows [0];
对象值=行[" myColumn"];
你会看到问题出在哪里。
-
Miha Markic [MVP C#] - RightHand .NET咨询&开发
miha at rthand com
但我收到错误消息:指定的演员表无效。
如果我写而不是:
string s =(string)myDataSet.Tables [& myTable]。行[0] [" myColumn"];
这一行:
DataTable table = myDataSet.Tables [" myTable"];
DataRow row = table.Rows [0];
object value = row [" myColumn"];
我收到相同的错误消息:
"对象引用未设置为对象的实例。
和此消息显示此行:
DataRow row = table.Rows [0];
这可能意味着我可以写了myTable在
DataTable table = myDataSet.Tables [" myTable"];
因为此行没有显示错误消息。 />
I write some application with asp.net (c#) and here is my problem.
This code (with "commented" string line) works well: when i open this page
in Internet Explorer i get in DataGrid2 some data frome my database...
....
....
OleDbConnection OleDbConn = new
OleDbConnection(ConfigurationSettings.AppSettings["connstr"]);
string selectString="SELECT * FROM myTable"
OleDbCommand myOleDbCommand=OleDbConn.CreateCommand();
myOleDbCommand.CommandText=selectString;
OleDbDataAdapter myOleDbDataAdapter = new OleDbDataAdapter();
myOleDbDataAdapter.SelectCommand=myOleDbCommand;
DataSet myDataSet=new DataSet();
myOleDbDataAdapter.Fill(myDataSet);
//string s = (string) myDataSet.Tables["myTable"].Rows[0]["myColumn"];
DataGrid2.DataSource = myDataSet;
DataGrid2.DataBind();
......
......
The problem: if I "uncomment" string line, then i get error message for this
line ("
Object reference not set to an instance of an object") when i try to open
this page in Internet Explorer.
I have in my database table myTable and in this table i have column
myColumn, and in this
column i have surely first row (indexed with "0"), but it doesnt work...why?
please help...Thanks...
I suggest you to check the sentence either in debugger or with something
like:
DataTable table = myDataSet.Tables["myTable"];
DataRow row = table.Rows[0];
object value = row["myColumn"];
And you''ll see where the problem is.
--
Miha Markic [MVP C#] - RightHand .NET consulting & development
miha at rthand com
www.rthand.com
but i get error message: Specified cast is not valid.
And if I write instead of:
string s = (string) myDataSet.Tables["myTable"].Rows[0]["myColumn"];
this lines:
DataTable table = myDataSet.Tables["myTable"];
DataRow row = table.Rows[0];
object value = row["myColumn"];
I get the same error message:
"Object reference not set to an instance of an object."
and this message appears for this line:
DataRow row = table.Rows[0];
This could mean that I can wrote "myTable" in
DataTable table = myDataSet.Tables["myTable"];
because the error message dont appear for this line.
这篇关于对象引用未设置为对象的实例(asp.net,c#)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!