查看: 1137|回复: 18
|
請問有誰是C#高手
[复制链接]
|
|
我有一個關於連接database的問題
當我compile份program時﹐是沒有任何error的
但run的時候就出現
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll
我連接去database的code是﹕
OleDbConnection Conn=new OleDbConnection(ConnString);
Conn.Open();
OleDbDataReader dr;
OleDbCommand dbcom=new OleDbCommand();
DataSet ds=new DataSet();
OleDbDataAdapter da=new OleDbDataAdapter();
da.SelectCommand=new OleDbCommand(Sqlstring,Conn);
da.Fill(ds);
dbcom.Connection=(Conn);
dbcom.CommandText=Sqlstring;
dr=dbcom.ExecuteReader();
還說是 dbcom 是<undefined value>
有誰可以指教
謝謝 |
|
|
|
|
|
|
|
发表于 9-6-2006 11:29 PM
|
显示全部楼层
难以鉴定出了什么问题... 你确定是第四行出错了? 可以把完整的 error message 放上来吗? |
|
|
|
|
|
|
|

楼主 |
发表于 10-6-2006 10:49 AM
|
显示全部楼层
我不肯定是第四行。
但每當份program走到哪裡﹐那個error message就出來。
是不是我的sql問題。如果可以的話﹐幫我改改
謝謝你
這就是我寫的一個function:
public string ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Application.StartupPath + "/../bookrecord.mdb;" + "Persist Security Info=False";
public void FillListBox( string Sqlstring )
{
ListBoxBookRecord.Items.Clear();
// Declare Database Connection,Database Command, Dataset and Data Adapter
// Initialize the Database, Dataset and Data Connection
OleDbConnection Conn=new OleDbConnection(ConnString);
Conn.Open();
OleDbDataReader dr;
OleDbCommand dbcom=new OleDbCommand();
DataSet ds=new DataSet();
OleDbDataAdapter da=new OleDbDataAdapter();
da.SelectCommand=new OleDbCommand(Sqlstring,Conn);
da.Fill(ds);
dbcom.Connection=(Conn);
dbcom.CommandText=Sqlstring;
dr=dbcom.ExecuteReader();
//Fill the list box with the Book ID
while ( dr.Read() )
{
ListBoxBookRecord.Items.Add( dr[ "ID" ] );
object MyItem = ListViewBookRecord.Items.Add( ( ( System.Windows.Forms.ListViewItem )( dr[ "ID".ToString() ] ) ) );
ListBoxBookRecord.Items.Add( dr[ "bookname".ToString() ] );
ListBoxBookRecord.Items.Add( dr[ "authorname".ToString() ] );
ListBoxBookRecord.Items.Add( dr[ "booktype".ToString() ] );
ListBoxBookRecord.Items.Add( dr[ "price".ToString() ] );
}
dr.Close();
Conn.Close();
Conn.Dispose();
return;
}
[ 本帖最后由 lieweffect 于 10-6-2006 10:53 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 10-6-2006 10:46 PM
|
显示全部楼层
你用try{<你的代码>}catch(Exception e){MessageBox.Show(e.Message);}
然后把Error Message Post上来看看。
每次出问题我都是这样子debug的 |
|
|
|
|
|
|
|

楼主 |
发表于 10-6-2006 10:58 PM
|
显示全部楼层
出了Specified cast is not valid
然後program繼續run
然後database的資料只看到第一個﹐其他的看不到
要怎樣fix
[ 本帖最后由 lieweffect 于 10-6-2006 11:01 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 11-6-2006 03:00 PM
|
显示全部楼层
这个好像有问题~
你用absolute path试试?? |
|
|
|
|
|
|
|

楼主 |
发表于 11-6-2006 05:44 PM
|
显示全部楼层
對﹗我已經改了那個database path.
然後run第二次就出了Specified cast is not valid
還有哪裡出錯嗎﹖
謝謝 |
|
|
|
|
|
|
|
发表于 12-6-2006 04:25 PM
|
显示全部楼层
我在测试的时候(改了你的source让它指向我的access)
在
- object MyItem = ListViewBookRecord.Items.Add(((System.Windows.Forms.ListViewItem)(dr[ "ID".ToString()])));
复制代码
出现InvalidCastException,它的解释是:
Unable to cast object of type 'System.Int32' to type 'System.Windows.Forms.ListViewItem'.
查了一下manual,发现Items.Add()里面要放string的,所以我把这行改了改,变成
- object MyItem = ListViewBookRecord.Items.Add((dr["ID"].ToString()));
复制代码
就正常了。我那个table里所有资料都正常显示
[ 本帖最后由 terrorgen 于 12-6-2006 04:30 PM 编辑 ] |
|
|
|
|
|
|
|

楼主 |
发表于 12-6-2006 05:35 PM
|
显示全部楼层
可以了
我以類似的寫法寫在list.cs裡的FillListBox那個void裡面
但它取把所有資料都list在ID理﹐要怎樣寫才能讓那些資料分類在list裡面
謝謝 |
|
|
|
|
|
|
|
发表于 12-6-2006 06:36 PM
|
显示全部楼层
刚才我的harddisk突然挂了~
暂时不能帮你了~
抱歉~ |
|
|
|
|
|
|
|

楼主 |
发表于 12-6-2006 06:43 PM
|
显示全部楼层
原帖由 terrorgen 于 12-6-2006 06:36 PM 发表
刚才我的harddisk突然挂了~
暂时不能帮你了~
抱歉~
謝謝您
不知道好了可以幫我嗎﹖
 |
|
|
|
|
|
|
|
发表于 12-6-2006 09:40 PM
|
显示全部楼层
|
|
|
|
|
|
|

楼主 |
发表于 12-6-2006 09:55 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 18-6-2006 05:28 PM
|
显示全部楼层
harddisk 的问题解决了,不过……
原帖由 lieweffect 于 12-6-2006 05:35 PM 发表
可以了
我以類似的寫法寫在list.cs裡的FillListBox那個void裡面
但它取把所有資料都list在ID理﹐要怎樣寫才能讓那些資料分類在list裡面
謝謝
我不是很清楚你要的是什么 |
|
|
|
|
|
|
|

楼主 |
发表于 18-6-2006 08:21 PM
|
显示全部楼层
原帖由 terrorgen 于 18-6-2006 05:28 PM 发表
harddisk 的问题解决了,不过……
我不是很清楚你要的是什么
這個沒問題了﹐謝謝
我想知道在什麼情況下要使用到xml呢﹖ |
|
|
|
|
|
|
|
发表于 18-6-2006 09:15 PM
|
显示全部楼层
当资料数量、层次不会很多,而且不用一直改的时候
我试过把一堆资料编进XML……痛苦~
不过你的这个程式~我想是可以啦~ |
|
|
|
|
|
|
|

楼主 |
发表于 18-6-2006 10:29 PM
|
显示全部楼层
原帖由 terrorgen 于 18-6-2006 09:15 PM 发表
当资料数量、层次不会很多,而且不用一直改的时候
我试过把一堆资料编进XML……痛苦~
不过你的这个程式~我想是可以啦~
要怎樣呢﹖
可以拿部份的資料做還是一定要全部
例如只拿book name和price醬可以嗎
[ 本帖最后由 lieweffect 于 18-6-2006 10:33 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 18-6-2006 11:42 PM
|
显示全部楼层
|
|
|
|
|
|
|

楼主 |
发表于 19-6-2006 11:30 AM
|
显示全部楼层
原帖由 terrorgen 于 18-6-2006 11:42 PM 发表
那就看你的需要咯~~
原來如此....暫時沒問題﹐
如果有問題再找你幫忙﹐可以嗎﹖
萬分感激 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|