PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
Jens Rydén
*停權中*
 
Jens Rydén的大頭照
 

加入日期: Nov 2010
您的住址: 猩燭
文章: 274
引用:
作者企Gre
謝謝roger214大大~

我以為coid 是AUTO_INCREMENT 不能改他!!所以才沒放
cmd.Parameters.AddWithValue("@coid", coid);

原來錯2個地方 update 跟 沒有放 cmd.Parameters.AddWithValue("@coid", coid);

謝謝 holmes2010 大大提醒

update 按鈕改成功了!!...花了6小時...
還有好多要實作~~

個人經驗,看不出問題,就設中斷點,單步執行debug,很多時候你覺得正確的,應該沒問題的

往往問題都出在那 SQL連線字串,可以的話先確定ok再丟到code裡去,避免FROM

打成FORM
     
      
舊 2011-10-23, 10:49 PM #21
回應時引用此文章
Jens Rydén離線中  
企Gre
Major Member
 
企Gre的大頭照
 

加入日期: Apr 2001
您的住址: 台北.台灣
文章: 156
Jens Ryden 大大...
他的手冊寫得很好..只是我看起來很費力...
可能是我對程式還沒發展到自己成長(自己找資料)的階段!!
所以自己摸索了半天! 不得不上來求救@@



http://msdn.microsoft.com/zh-tw/library/ms130214.aspx
 
__________________
不知道為什麼來,沒有留下什麼..卻只帶走一些遺憾!
投資等於賭博??

此文章於 2011-10-23 10:55 PM 被 企Gre 編輯.
舊 2011-10-23, 10:51 PM #22
回應時引用此文章
企Gre離線中  
Jens Rydén
*停權中*
 
Jens Rydén的大頭照
 

加入日期: Nov 2010
您的住址: 猩燭
文章: 274
引用:
作者roger214
說到 MSDN 線上版的 MSDN 搜尋部份實在有點麻煩,我現在都還留著 2008 MSDN 不敢砍掉= =

雖然找了一些 helper 3 viewer ,就是覺得有點不好用,不太習慣= =


肯自己動手寫,不是 copy paste 就不錯了。有錯誤肯問人,建立的印象比較深,光看 example code,不求甚解的還是一樣不求甚解的。


to 企Gre:

上面有人提到 coid 變數沒有 assign 了.
cmd.Parameters.AddWithValue("@coid", coid);


以我連sql server的經驗,執行過nonexecquery有錯誤,都是塞給參數的資料格式不對,或沒

給,比如table某field欄位是image(binary),你程式是塞給field整數...就有問題了
舊 2011-10-23, 10:54 PM #23
回應時引用此文章
Jens Rydén離線中  
企Gre
Major Member
 
企Gre的大頭照
 

加入日期: Apr 2001
您的住址: 台北.台灣
文章: 156
引用:
作者vxr
他用的是MySQL的DbProvider模型...
不是上MSDN來看...
從一般化的觀點來看..
基於factory..
大體上差不多..
可是細節有些不同...


vxr大大

小小不同@@ 大致是一樣!!
那小小不同就是讓我死的關鍵點了! 哈哈
__________________
不知道為什麼來,沒有留下什麼..卻只帶走一些遺憾!
投資等於賭博??
舊 2011-10-23, 10:54 PM #24
回應時引用此文章
企Gre離線中  
hakken
Regular Member
 

加入日期: Sep 2002
您的住址: Earth
文章: 56
mysql遠端以root存取的權限要打開
google mysql grant root

....把程式碼包在try... catch...中
抓Exception訊息出來看............

此文章於 2011-10-23 11:02 PM 被 hakken 編輯.
舊 2011-10-23, 10:59 PM #25
回應時引用此文章
hakken離線中  
Jens Rydén
*停權中*
 
Jens Rydén的大頭照
 

加入日期: Nov 2010
您的住址: 猩燭
文章: 274
引用:
作者企Gre
Jens Ryden 大大...
他的手側寫得很好..只是我看起來很費力...
可能是我對程式還沒發展到自己成長(自己找資料)的階段!!
所以自己摸索了半天! 不得不上來求救@@



http://msdn.microsoft.com/zh-tw/library/ms130214.aspx

data provider等觀念要先清楚,接著小細節(sql連線字串ok),都看不出問題,就要debug...

自己找問題,像你update的小細節,除非field 型態是image(binary)較麻煩,如果是整數或字串

都能自己先測試ok與否...忘記塞資料給參數,也能先用肉眼看出來,不然就debug到執行

nonexecutequery就壞掉,大概能猜出是塞資料給參數的問題..一般來說是資料型態不對

所以DB無法寫入
舊 2011-10-23, 10:59 PM #26
回應時引用此文章
Jens Rydén離線中  
vxr
Registered User
 
vxr的大頭照
 

加入日期: May 2002
您的住址: 地球的上面..
文章: 5,854
Exclamation

引用:
作者企Gre
vxr大大

小小不同@@ 大致是一樣!!
那小小不同就是讓我死的關鍵點了! 哈哈

這是OO的東西..
你必須要對OO基礎有所熟悉..
我舉個代碼的例子吧...
using System;
using System.Configuration;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;

namespace WA_ADONET
{
public partial class usingsqldataprovider : System.Web.UI.Page
{
private const string DATA_PROVIDER_NAME = "System.Data.SqlClient";
private const int CONNECTION_STRING_INDEX = 1;

protected void Page_Load(object sender, EventArgs e)
{
string connString = ConfigurationManager.ConnectionStrings[CONNECTION_STRING_INDEX].ConnectionString;

DbProviderFactory dbProvider = DbProviderFactories.GetFactory(DATA_PROVIDER_NAME);
DbConnection dbConnection = dbProvider.CreateConnection();
DbCommand dbCommand = dbProvider.CreateCommand();
DbDataAdapter dbDataAdapter = dbProvider.CreateDataAdapter();
DataSet dataSet = new DataSet();

dbConnection.ConnectionString = connString;

dbCommand.Connection = dbConnection;
dbCommand.CommandText = "SELECT TOP 10 * FROM Mail ORDER BY CDATE DESC";

dbDataAdapter.SelectCommand = dbCommand;
dbDataAdapter.Fill(dataSet);
//GvMails is a GridView component
GvMails.DataSource = dataSet.Tables[0];
GvMails.DataBind();
}
}
}

這是一個使用微軟內建的factory(自.NET 2.0後的provider模型)..
DbConnection dbConnection = dbProvider.CreateConnection();
DbCommand dbCommand = dbProvider.CreateCommand();
DbDataAdapter dbDataAdapter = dbProvider.CreateDataAdapter();
這三段代碼你可以看出...
DbConnection, DbCommand, DbDataAdapter都是微軟提供的頂層抽象...
這些都是公開的...
允許給相關廠商去實做這些抽象...
你可以依循去查這些類別...
到MSDN網站...
有關Db的部分..
factory是極為常見的一個設計..
因為它可以用作instance產生器...

此文章於 2011-10-23 11:01 PM 被 vxr 編輯.
舊 2011-10-23, 10:59 PM #27
回應時引用此文章
vxr離線中  
企Gre
Major Member
 
企Gre的大頭照
 

加入日期: Apr 2001
您的住址: 台北.台灣
文章: 156
引用:
作者Jens Ryden
以我連sql server的經驗,執行過nonexecquery有錯誤,都是塞給參數的資料格式不對,或沒

給,比如table某field欄位是image(binary),你程式是塞給field整數...就有問題了


binary那是我後來要寫的東西了!!@@
目前還很模糊~~
__________________
不知道為什麼來,沒有留下什麼..卻只帶走一些遺憾!
投資等於賭博??
舊 2011-10-23, 11:01 PM #28
回應時引用此文章
企Gre離線中  
roger214
New Member
 

加入日期: Jul 2011
文章: 3
引用:
作者企Gre
binary那是我後來要寫的東西了!!@@
目前還很模糊~~


bibary 目前不需要太在意,實做上,我也很少看到會用他的,像圖檔,我寧可放在檔案系統上,也不太會將圖檔二進位內容放到資料庫裡,一不小心 DAT 單檔就很可能大到不好備份。

mysql 也差不多,MYISAM 雖說還好些,不過也很難說不會有資料檔過大的問題,至於 INNODB 則有其他考量。

我沒上過正規的資料庫課程,以上大多是實務面長久累積下來的經驗之談。
舊 2011-10-23, 11:08 PM #29
回應時引用此文章
roger214離線中  
企Gre
Major Member
 
企Gre的大頭照
 

加入日期: Apr 2001
您的住址: 台北.台灣
文章: 156
引用:
作者vxr
這是OO的東西..
你必須要對OO基礎有所熟悉..
我舉個代碼的例子吧...

protected void Page_Load(object sender, EventArgs e)
{
string connString = ConfigurationManager.ConnectionStrings[CONNECTION_STRING_INDEX].ConnectionString;
...



謝謝vxr 大大
我還沒接觸WEB.UI! 等我GUI 完成再來學WEB.UI

hakken大大
try
{}
catch
{}
我對這個還沒研究出來catch錯誤那部份要如何寫!!老師教得有夠少∼= =2句話帶過!!

Jens Ryden大大
謝謝你的建言∼我會朝這方面努力的

謝謝各位熱心的大大
如果全部寫完再分享我的作品!!雖然不值得一曬啦!!哈哈∼∼
__________________
不知道為什麼來,沒有留下什麼..卻只帶走一些遺憾!
投資等於賭博??
舊 2011-10-23, 11:12 PM #30
回應時引用此文章
企Gre離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是11:03 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2026。