Discussion:
並未將物件參考設定為物件的執行個體
(时间太久无法回复)
der
2005-06-05 15:17:14 UTC
Permalink
各位大大:請問一下哪裡出問題?感恩!

例外詳細資訊: System.NullReferenceException: 並未將物件參考設定為物件的執行個體

偶的程式如下:
<script language="VB" runat="server">

Dim cnF As SqlConnection

Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

cnF=cTYPE(Session("cnFtt"),SqlConnection)
error指向--> cnF.open()
...
偶的Global.asax如下: <<< 使用cnEmploy沒錯 但是cnFtt? >>>

<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.SessionState" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script language="C#" runat="server">
void Session_Start(Object Sender, EventArgs e){
// //¨ú±o¥Ø«e¨Ï¥ÎªÌ
Session["nowUser"]=Request.ServerVariables["REMOTE_HOST"];
string f="server=localhost;uid=sa;database=Master";
SqlConnection NowConn1 = new SqlConnection(f);//³s¦ÜMaster¸ê®Æ®w
SqlCommand re = new SqlCommand();
re.Connection=NowConn1;
re.CommandText="sp_databases";
re.CommandType = CommandType.StoredProcedure;
SqlDataReader k;
re.Connection.Open();
k=re.ExecuteReader();//°õ¦æ¦W¬°sp_databasesªºStoreProcedure
while(k.Read()){//³v¤@³B²z¤Î§PÂ_¸ê®Æ®w¦WºÙ
if(k.GetString(0)=="Northwind"){
string a="server=localhost;uid=sa;";
a+="database=Northwind";
SqlConnection NowConn2 = new SqlConnection(a);
Session["NowSQLNor"]=NowConn2;
}
else if(k.GetString(0)=="Ftt"){
string b="server=localhost;uid=ff7;password=;";
b+="database=Ftt";
SqlConnection NowConn3 = new SqlConnection(b);
Session["cnFtt"]=NowConn3;
}
else if(k.GetString(0)=="Employ"){
string c="server=localhost;uid=ff7;password=;";
c+="database=Employ";
SqlConnection NowConn4 = new SqlConnection(c);
Session["cnEmploy"]=NowConn4;
User
2005-06-05 17:19:01 UTC
Permalink
看起來你只有宣告它
並未建立一個類別執行個體



"der" 來函:
Post by der
各位大大:請問一下哪裡出問題?感恩!
例外詳細資訊: System.NullReferenceException: 並未將物件參考設定為物件的執行個體
<script language="VB" runat="server">
Dim cnF As SqlConnection
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
cnF=cTYPE(Session("cnFtt"),SqlConnection)
error指向--> cnF.open()
...
偶的Global.asax如下: <<< 使用cnEmploy沒錯 但是cnFtt? >>>
<script language="C#" runat="server">
void Session_Start(Object Sender, EventArgs e){
// //¨ú±o¥Ø«e¨Ï¥ÎªÌ
Session["nowUser"]=Request.ServerVariables["REMOTE_HOST"];
string f="server=localhost;uid=sa;database=Master";
SqlConnection NowConn1 = new SqlConnection(f);//³s¦ÜMaster¸ê®Æ®w
SqlCommand re = new SqlCommand();
re.Connection=NowConn1;
re.CommandText="sp_databases";
re.CommandType = CommandType.StoredProcedure;
SqlDataReader k;
re.Connection.Open();
k=re.ExecuteReader();//°õ¦æ¦W¬°sp_databasesªºStoreProcedure
if(k.GetString(0)=="Northwind"){
string a="server=localhost;uid=sa;";
a+="database=Northwind";
SqlConnection NowConn2 = new SqlConnection(a);
Session["NowSQLNor"]=NowConn2;
}
else if(k.GetString(0)=="Ftt"){
string b="server=localhost;uid=ff7;password=;";
b+="database=Ftt";
SqlConnection NowConn3 = new SqlConnection(b);
Session["cnFtt"]=NowConn3;
}
else if(k.GetString(0)=="Employ"){
string c="server=localhost;uid=ff7;password=;";
c+="database=Employ";
SqlConnection NowConn4 = new SqlConnection(c);
Session["cnEmploy"]=NowConn4;
Johnny §õ«¶¿« (Microsoft MVP for ASP.NET)
2005-06-06 07:04:47 UTC
Permalink
§Ú«ØijŠbšÏ¥Î Session ©M Cookie ª«¥ó®ÉŸiŠš€@­Ó²ßºD¡AšºŽN¬OŠbšÏ¥Î¥Š
€§«e¥ýÀˬd¥Š¬O§_¬° Nothing¡AšÒŠp¡G

If Not IsNothing(Session("CcnFtt") Then
cnF=cTYPE(Session("cnFtt"),SqlConnection)
Else
...
End If

ŠÜ€Ö¥i¥HŽúžÕ€@€U°ÝÃDµo¥ÍŠb­þžÌ¡C

Johnny Lee
Microsoft MVP (ASP.NET)
ASP.NET 2share - http://phone.idv.tw/CS
Johnny Worker's Blog - http://www.bloglines.com/blog/Johnnykhlee
šÒ¥~žÔ²Óžê°T: System.NullReferenceException: šÃ¥Œ±Nª«¥ó°ÑŠÒ³]©w¬°ª«¥óªº°õ
Šæ­ÓÅé
<script language="VB" runat="server">
Dim cnF As SqlConnection
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
cnF=cTYPE(Session("cnFtt"),SqlConnection)
error«üŠV--> cnF.open()
...
°žªºGlobal.asaxŠp€U: <<< šÏ¥ÎcnEmployšS¿ù Šý¬OcnFtt? >>>
<script language="C#" runat="server">
void Session_Start(Object Sender, EventArgs e){
// //¡Lu¡Óo¢DO?e¡LI¢DIaI
Session["nowUser"]=Request.ServerVariables["REMOTE_HOST"];
string f="server=localhost;uid=sa;database=Master";
SqlConnection NowConn1 = new SqlConnection(f);//3s|UMaster¡MeRARw
SqlCommand re = new SqlCommand();
re.Connection=NowConn1;
re.CommandText="sp_databases";
re.CommandType = CommandType.StoredProcedure;
SqlDataReader k;
re.Connection.Open();
k=re.ExecuteReader();//¢Xo|a|W?¢Xsp_databasesaoStoreProcedure
if(k.GetString(0)=="Northwind"){
string a="server=localhost;uid=sa;";
a+="database=Northwind";
SqlConnection NowConn2 = new SqlConnection(a);
Session["NowSQLNor"]=NowConn2;
}
else if(k.GetString(0)=="Ftt"){
string b="server=localhost;uid=ff7;password=;";
b+="database=Ftt";
SqlConnection NowConn3 = new SqlConnection(b);
Session["cnFtt"]=NowConn3;
}
else if(k.GetString(0)=="Employ"){
string c="server=localhost;uid=ff7;password=;";
c+="database=Employ";
SqlConnection NowConn4 = new SqlConnection(c);
Session["cnEmploy"]=NowConn4;
der
2005-06-06 11:46:04 UTC
Permalink
Johnny 李奎翰先生:你好!

經check後得知 : session("cnFtt") is null
請問是偶的Global.asax哪裡有問題? <<< 使用cnEmploy沒錯 但是cnFtt? >>>

感恩!

"Johnny 李奎翰 (Microsoft MVP for ASP.NET)" 來函:
我建議在使用 Session 和 Cookie 物件時養成一個習慣,那就是在使用它
之前先檢查它是否為 Nothing,例如:
If Not IsNothing(Session("CcnFtt") Then
cnF=cTYPE(Session("cnFtt"),SqlConnection)
Else
...
End If
至少可以測試一下問題發生在哪裡。
Johnny Lee
Microsoft MVP (ASP.NET)
ASP.NET 2share - http://phone.idv.tw/CS
Johnny Worker's Blog - http://www.bloglines.com/blog/Johnnykhlee
Post by der
各位大大:請問一下哪裡出問題?感恩!
例外詳細資訊: System.NullReferenceException: 並未將物件參考設定為物件的執
行個體
Post by der
<script language="VB" runat="server">
Dim cnF As SqlConnection
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
cnF=cTYPE(Session("cnFtt"),SqlConnection)
error指向--> cnF.open()
...
偶的Global.asax如下: <<< 使用cnEmploy沒錯 但是cnFtt? >>>
<script language="C#" runat="server">
void Session_Start(Object Sender, EventArgs e){
// //‥u±o¥O?e‥I¥IaI
Session["nowUser"]=Request.ServerVariables["REMOTE_HOST"];
string f="server=localhost;uid=sa;database=Master";
SqlConnection NowConn1 = new SqlConnection(f);//3s|UMaster﹐eRARw
SqlCommand re = new SqlCommand();
re.Connection=NowConn1;
re.CommandText="sp_databases";
re.CommandType = CommandType.StoredProcedure;
SqlDataReader k;
re.Connection.Open();
k=re.ExecuteReader();//°o|a|W?°sp_databasesaoStoreProcedure
if(k.GetString(0)=="Northwind"){
string a="server=localhost;uid=sa;";
a+="database=Northwind";
SqlConnection NowConn2 = new SqlConnection(a);
Session["NowSQLNor"]=NowConn2;
}
else if(k.GetString(0)=="Ftt"){
string b="server=localhost;uid=ff7;password=;";
b+="database=Ftt";
SqlConnection NowConn3 = new SqlConnection(b);
Session["cnFtt"]=NowConn3;
}
else if(k.GetString(0)=="Employ"){
string c="server=localhost;uid=ff7;password=;";
c+="database=Employ";
SqlConnection NowConn4 = new SqlConnection(c);
Session["cnEmploy"]=NowConn4;
Johnny §õ«¶¿« (Microsoft MVP for ASP.NET)
2005-06-06 14:03:08 UTC
Permalink
§Ú·Q±z¥²¶·ŠÛ€v¥h°lÂܬ°€°»ò Session("cnFtt") ·|¬O Null¡A¥i¯à·s«Ø³o­Óª«¥óªºµ{
Š¡œX¡]ŽN¬O if (k.GetString(0) == "Ftt") {...} °Ï¬q¡^®Ú¥»šSŠ³³Q°õŠæšì§a¡C

Johnny Lee
Microsoft MVP (ASP.NET)
ASP.NET 2share - http://phone.idv.tw/CS
Johnny Worker's Blog - http://www.bloglines.com/blog/Johnnykhlee
Johnny §õ«¶¿«¥ý¥Í:§AŠn!
žgcheck«á±oªŸ : session("cnFtt") is null
œÐ°Ý¬O°žªºGlobal.asax­þžÌŠ³°ÝÃD? <<< šÏ¥ÎcnEmployšS¿ù Šý¬OcnFtt? >>>
·P®Š!
"Johnny §õ«¶¿« (Microsoft MVP for ASP.NET)" šÓšç¡G
Post by Johnny §õ«¶¿« (Microsoft MVP for ASP.NET)
€§«e¥ýÀˬd¥Š¬O§_¬° Nothing¡AšÒŠp¡G
If Not IsNothing(Session("CcnFtt") Then
cnF=cTYPE(Session("cnFtt"),SqlConnection)
Else
...
End If
Johnny Lee
Microsoft MVP (ASP.NET)
ASP.NET 2share - http://phone.idv.tw/CS
Johnny Worker's Blog - http://www.bloglines.com/blog/Johnnykhlee
šÒ¥~žÔ²Óžê°T: System.NullReferenceException: šÃ¥Œ±Nª«¥ó°ÑŠÒ³]©w¬°ª«¥ó
ªº°õ
Post by Johnny §õ«¶¿« (Microsoft MVP for ASP.NET)
Šæ­ÓÅé
<script language="VB" runat="server">
Dim cnF As SqlConnection
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
cnF=cTYPE(Session("cnFtt"),SqlConnection)
error«üŠV--> cnF.open()
...
°žªºGlobal.asaxŠp€U: <<< šÏ¥ÎcnEmployšS¿ù Šý¬OcnFtt? >>>
<script language="C#" runat="server">
void Session_Start(Object Sender, EventArgs e){
// //¡Lu¡Óo¢DO?e¡LI¢DIaI
Session["nowUser"]=Request.ServerVariables["REMOTE_HOST"];
string f="server=localhost;uid=sa;database=Master";
SqlConnection NowConn1 = new SqlConnection(f);//3s|UMaster¡MeRARw
SqlCommand re = new SqlCommand();
re.Connection=NowConn1;
re.CommandText="sp_databases";
re.CommandType = CommandType.StoredProcedure;
SqlDataReader k;
re.Connection.Open();
k=re.ExecuteReader();//¢Xo|a|W?¢Xsp_databasesaoStoreProcedure
if(k.GetString(0)=="Northwind"){
string a="server=localhost;uid=sa;";
a+="database=Northwind";
SqlConnection NowConn2 = new SqlConnection(a);
Session["NowSQLNor"]=NowConn2;
}
else if(k.GetString(0)=="Ftt"){
string b="server=localhost;uid=ff7;password=;";
b+="database=Ftt";
SqlConnection NowConn3 = new SqlConnection(b);
Session["cnFtt"]=NowConn3;
}
else if(k.GetString(0)=="Employ"){
string c="server=localhost;uid=ff7;password=;";
c+="database=Employ";
SqlConnection NowConn4 = new SqlConnection(c);
Session["cnEmploy"]=NowConn4;
der
2005-06-06 15:03:03 UTC
Permalink
Johnny 李奎翰先生:你好!

終於找到了
英文拼字大小寫的問題而已
找了很久
居然...
Anyway...
還是感恩!

"Johnny 李奎翰 (Microsoft MVP for ASP.NET)" 來函:
我想您必須自己去追蹤為什麼 Session("cnFtt") 會是 Null,可能新建這個物件的程
式碼(就是 if (k.GetString(0) == "Ftt") {...} 區段)根本沒有被執行到吧。
Johnny Lee
Microsoft MVP (ASP.NET)
ASP.NET 2share - http://phone.idv.tw/CS
Johnny Worker's Blog - http://www.bloglines.com/blog/Johnnykhlee
Post by der
Johnny 李奎翰先生:你好!
經check後得知 : session("cnFtt") is null
請問是偶的Global.asax哪裡有問題? <<< 使用cnEmploy沒錯 但是cnFtt? >>>
感恩!
"Johnny 李奎翰 (Microsoft MVP for ASP.NET)" 來函:
我建議在使用 Session 和 Cookie 物件時養成一個習慣,那就是在使用它
之前先檢查它是否為 Nothing,例如:
If Not IsNothing(Session("CcnFtt") Then
cnF=cTYPE(Session("cnFtt"),SqlConnection)
Else
...
End If
至少可以測試一下問題發生在哪裡。
Johnny Lee
Microsoft MVP (ASP.NET)
ASP.NET 2share - http://phone.idv.tw/CS
Johnny Worker's Blog - http://www.bloglines.com/blog/Johnnykhlee
Post by der
各位大大:請問一下哪裡出問題?感恩!
例外詳細資訊: System.NullReferenceException: 並未將物件參考設定為物件
的執
Post by der
行個體
Post by der
<script language="VB" runat="server">
Dim cnF As SqlConnection
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
cnF=cTYPE(Session("cnFtt"),SqlConnection)
error指向--> cnF.open()
...
偶的Global.asax如下: <<< 使用cnEmploy沒錯 但是cnFtt? >>>
<script language="C#" runat="server">
void Session_Start(Object Sender, EventArgs e){
// //‥u±o¥O?e‥I¥IaI
Session["nowUser"]=Request.ServerVariables["REMOTE_HOST"];
string f="server=localhost;uid=sa;database=Master";
SqlConnection NowConn1 = new SqlConnection(f);//3s|UMaster﹐eRARw
SqlCommand re = new SqlCommand();
re.Connection=NowConn1;
re.CommandText="sp_databases";
re.CommandType = CommandType.StoredProcedure;
SqlDataReader k;
re.Connection.Open();
k=re.ExecuteReader();//°o|a|W?°sp_databasesaoStoreProcedure
if(k.GetString(0)=="Northwind"){
string a="server=localhost;uid=sa;";
a+="database=Northwind";
SqlConnection NowConn2 = new SqlConnection(a);
Session["NowSQLNor"]=NowConn2;
}
else if(k.GetString(0)=="Ftt"){
string b="server=localhost;uid=ff7;password=;";
b+="database=Ftt";
SqlConnection NowConn3 = new SqlConnection(b);
Session["cnFtt"]=NowConn3;
}
else if(k.GetString(0)=="Employ"){
string c="server=localhost;uid=ff7;password=;";
c+="database=Employ";
SqlConnection NowConn4 = new SqlConnection(c);
Session["cnEmploy"]=NowConn4;
继续阅读narkive:
Loading...