推 mmx5mmx5:感謝回答 我會參考看看 08/13 04:45
推 mmx5mmx5:請問有方法可以宣告陣列為new sqlparameter嗎? 08/18 23:31
→ mmx5mmx5:因為會有null的問題 08/18 23:31
→ lbeeon:Dim pmtdata() As sqlparameter 08/22 11:17
→ lbeeon:在用for each new 不知道是不是你要的東西 08/22 11:17
推 mmx5mmx5:感覺起來應該是 我再查查資料 有問題在上來請教 08/22 22:32
→ mmx5mmx5:非常感謝 08/22 22:32
推 mmx5mmx5:對不起 我試了很久 還是不知道for each new要怎麼使用 08/24 23:57
→ mmx5mmx5:可以再次請教嗎? 08/24 23:57
我有點誤導 應該用for 就好了
.net其實我不太確定宣告陣列後是否要建構子(new)
之前學OO的時候是用JAVA,再使用前都要new(相當於取的記憶體位置)
才不會產生錯誤
不過.net也是OO一種應該是對的,下面程式碼你在參考一下
Dim data(10) As SqlParameter
Dim i As Integer = 0
For i = 0 To data.Length - 1 Step 1
data(i) = New SqlParameter
data(i).Value = i.ToString
Next
※ 編輯: lbeeon 來自: 1.170.0.40 (08/25 03:05)
推 mmx5mmx5:還是先謝謝你 我回來再試試 08/25 09:20
→ mmx5mmx5:非常感謝 08/25 09:20
推 mmx5mmx5:非常感謝 關於前面NEW的部分 已經成功了 但是現在的問題 08/26 03:23
→ mmx5mmx5:是這樣的話 會有兩個sqlcmd.CommandText 一個是strSQL1 08/26 03:24
→ mmx5mmx5:另一個是我們所設立陣列 如data(10) 請問還是一樣寫一個 08/26 03:25
→ mmx5mmx5:迴圈來sqlcmd.Parameters.Add嗎? 目前遇到的問題是 會卡 08/26 03:26
→ mmx5mmx5:在sqlcmd.ExecuteNonQuery() 這個地方 08/26 03:27
→ mmx5mmx5:而錯誤是 ExecuteNonQuery: CommandText 屬性尚未初始化 08/26 03:29
→ mmx5mmx5:我有試過 另外設立一個sqlcmd2 但是也是卡在 08/26 03:29
→ mmx5mmx5: sqlcmd.ExecuteNonQuery()這個地方 08/26 03:30
strconn = "Server=(local);database=____;User=____; Password=____"
sqlcmd.CommandText = strSQL
類似這兩行撿查一下,底線部分要補上去。
※ 編輯: lbeeon 來自: 1.170.0.40 (08/26 03:44)
推 mmx5mmx5:strconn那個我有加上去 應該可以連線成功沒問題 08/26 03:52
→ mmx5mmx5:sqlcmd.CommandText = strSQL 就是很大的問題了 因為有兩 08/26 03:53
→ mmx5mmx5:個 所以我不知道要怎麼去設立 08/26 03:53
→ mmx5mmx5:我目前一個是 strSQL1 另一個是 strSQL(x) 08/26 03:54
→ lbeeon:給個程式碼吧 08/26 15:32
→ mmx5mmx5:問題在那個地方 有些註解是我嘗試sqlcmd2的時候所打的 08/26 19:12
→ mmx5mmx5:麻煩你了 真的非常打擾 非常感謝你 08/26 19:13
最近較忙沒回應
大概看了一下,你應該是想要利用迴圈控制某特定欄位的輸入輸出,
不過沒很聊解你想控制的東西,但是一搬來說如果我有兩個strSQL
如果有順序執行完成(Transaction 觀念),一個交易結束再執行另一
個的話,我會ExecuteNonQuery後再將sqlcmd.CommandText替換成strSQL2
這樣來說是可行的,如果兩個要同時存在的話,那你就必須再新增一個
sqlcmd2來使用,如果你有Transaction觀念的話,基本上
sqlcmd.ExecuteNonQuery後,前一個strSQL就已經執行結束(committed),
所以直接替換CommandText後在Execute是可行的。 你在思考看看。
※ 編輯: lbeeon 來自: 122.118.26.20 (08/29 22:46)
推 mmx5mmx5:已收到 我在研究看看 謝謝你 有問題我在上來詢問 08/30 20:02
推 mmx5mmx5:我試了很久 還是不太行 可以麻煩舉例給我看嗎? 08/31 23:00
推 mmx5mmx5:我改成這樣還是不行 08/31 23:02
→ mmx5mmx5:While p < testumber 08/31 23:03
→ mmx5mmx5: sqlcmd.CommandText = strSQL(p) 08/31 23:03
→ mmx5mmx5: sqlcmd.Parameters.Add(test(p)) 08/31 23:03
→ mmx5mmx5: If sqlcmd.ExecuteNonQuery() > 0 Then 08/31 23:04
→ mmx5mmx5: MsgBox("OK") 08/31 23:04
→ mmx5mmx5:Else 08/31 23:04
→ mmx5mmx5: MsgBox("Fail") 08/31 23:04
→ mmx5mmx5: End If 08/31 23:05
→ mmx5mmx5: p = p + 1 08/31 23:05
→ mmx5mmx5: End While 08/31 23:05
→ mmx5mmx5:因為沒有順序的問題 所以我把sqlcmd.CommandText=strSQL1 08/31 23:06
→ mmx5mmx5:只要可以執行成功就好 所以我把上面個移到後面去了 08/31 23:07
→ mmx5mmx5:我不太了解 所謂的ExecuteNonQuery的意思是像上面一樣的 08/31 23:08
→ mmx5mmx5:sqlcmd.ExecuteNonQuery() > 0 先打這個的意思嗎? 08/31 23:08
ExecuteNonQuery回傳值的意思是,執行該SQL所影響的資料筆數,
故常回利用 ExecuteNonQuery 回傳值是否有大於零來確認執行成功於否,
也因為前面提過Transaction的觀念,SQL的執行只有1或0,沒有執行幾行的
程式碼的,所以利用ExecuteNonQuery來作為判斷,對於資料庫的新增、刪除
、更新都能有效掌握。至於你說的不行有點太籠統,是語法問題還是...
貼個錯誤資訊可能比較好解決,希望有幫到你。
※ 編輯: lbeeon 來自: 114.38.3.102 (09/01 01:04)
推 mmx5mmx5:錯誤還是ExecuteNonQuery:CommandText屬性尚未初始化 09/01 01:51
推 mmx5mmx5:其他的話我再試試看 非常謝謝你的幫忙 因為有一維陣列要 09/01 01:53
→ mmx5mmx5:輸入的關係 所以才會這麼複雜 09/01 01:53
→ mmx5mmx5:我有在思考是不是該換個寫法 09/01 01:53
→ mmx5mmx5:要輸入筆數不確定的數據 09/01 01:55
→ mmx5mmx5:我目前想的到的只有inputbox 09/01 01:55
→ mmx5mmx5:其他真的就不知道了 09/01 01:55
→ lbeeon:我懷疑你的strSQL(p)是不是真的有東西, 09/01 03:06
→ lbeeon:我會這樣寫 sqlcmd.CommandText = strSQL(p).ToString 09/01 03:07
→ lbeeon:確保assign CommandText的時候是字串 09/01 03:08
直接看有沒有東西吧,這樣最快。
While p < testumber
'sqlcmd.CommandText = strSQL(p)
'sqlcmd.Parameters.Add(test(p))
'If sqlcmd.ExecuteNonQuery() > 0 Then
'MsgBox("OK")
'Else
'MsgBox("Fail")
'End If
MsgBox(strSQL(p).ToString) '先確認strSQL重的SQL是不是你想要的
'能用在註解掉
p = p + 1
End While
※ 編輯: lbeeon 來自: 114.38.3.102 (09/01 03:14)
※ 編輯: lbeeon 來自: 114.38.3.102 (09/01 03:20)
推 mmx5mmx5:INSERT INTO Table3 (數據1) VALUES (@test_n(0)) 09/02 00:21
→ mmx5mmx5:INSERT INTO Table3 (數據2) VALUES (@test_n(1)) 09/02 00:21
→ mmx5mmx5:看起來好像是對的 可是還是行不通 我輸入testumber=2 09/02 00:22
→ mmx5mmx5:不過錯誤的地方變了 是SqlException未處理 09/02 00:24
→ mmx5mmx5:接近 '(' 之處的語法不正確。 09/02 00:24
→ mmx5mmx5:必須宣告純量變數 "@test_n"。 09/02 00:25
→ lbeeon:這錯誤表示你的sqlparameters 沒放進去 所以錯誤 09/02 01:03
→ lbeeon:其實你的parameter可以都放一樣的 只是你再執行前 09/02 01:04
→ lbeeon:再將Parameter.value改掉就好這樣你insert內的參數就不用 09/02 01:05
→ lbeeon:一直換 09/02 01:05
→ lbeeon:在一個建議將你的SQL語法放在SQL Server 測試看看 09/02 01:07
→ lbeeon:如果輸入的東西Insert後面的都很類似 我會寫個Sub 這樣call 09/02 01:09
→ lbeeon:比較方便 不過效能就不確定了... 09/02 01:09
推 mmx5mmx5:已收到 所以目前來說好像陣列要寫入SQL好像這個方法行不 09/02 01:44
→ mmx5mmx5:通的樣子 我再查查看有沒有別的方法吧 在這個暑假之前我 09/02 01:44
→ mmx5mmx5:完全不會寫程式 現在也只會用方法才拼湊而已 所以很多基 09/02 01:45
→ mmx5mmx5:本的概念我都沒有 我只能慢慢的去TRY而已 真的非常感謝你 09/02 01:46
→ mmx5mmx5:的幫助 真的非常謝謝 我會再想想辦法的 09/02 01:46
→ mmx5mmx5:再次感謝 感激不盡!!! 09/02 01:47
→ mmx5mmx5:而你最後打的方法我再試試看 希望可以行的通!! 09/02 01:48
→ lbeeon:VB我也不太會..剛好在作資料庫所以有用到 很高興有幫到你 09/02 02:35