C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: VB2005 coalesce(MAX(id),0)+1


(過去ログ 26 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■12061 / inTopicNo.1)  VB2005 coalesce(MAX(id),0)+1
  
□投稿者/ カルマ (1回)-(2007/12/28(Fri) 17:16:26)

分類:[VB.NET/VB2005] 

2007/12/28(Fri) 17:21:01 編集(投稿者)
2007/12/28(Fri) 17:20:51 編集(投稿者)

すみません、学校の明日までの課題でVB2005(使い出して3日目ですASP.NET等の経験はあり)での開発プログラムが出たのですが、どうしてもタイトルの使い方が分からず困り果てています。

DBの初期段階における いわゆる{何も入っていない状況で}ID自動生成をさせる時に生じるエラーを回避したいのですが
いろいろネットで探し

ーーーーーーーーーーーーー

INSERT INTO table VALUES(SELECT coalesce(MAX(id),0)+1 FROM talbe);

とすれば0が戻ると思います。
coalesceは値がnullの場合に代替えの値を返す関数です。


ーーーーーーーーーーーーー


というのを、見つけたのですが、sqlの部分でエラーが出てしまいます。
諦めてifでnullを判断しようかと思いDBNullを使用したのですがこれもエラーだらけで


Imports DBConnect
Imports MySql.Data.MySqlClient


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Master.Item_Clicked()
End Sub

Protected Sub BtnRegist_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnRegist.Click
Dim a As New DBConnect
Dim Form As Integer
Dim Position As Integer
Dim Place As Integer
Dim NId As Integer
'Dim login As New SessionManagement
'login.LoginCheck()


Place = 1
a.Open()

Dim x As MySqlDataReader = a.SqlRead("select Id from Company ORDER BY Id DESC")
x.Read()
NId = x("Id") + 1




a.Close()
' MsgBox(x("Id"))



If RdoFStock.Checked = True Then
Form = 0
Position = 0
ElseIf RdoRStock.Checked = True Then
Form = 0
Position = 1
ElseIf RdoFLimited.Checked = True Then
Form = 1
Position = 0
ElseIf RdoRLimited.Checked = True Then
Form = 1
Position = 1
End If





Dim z As Integer = a.SqlUpdate("INSERT INTO Company(Id,Kana,Name,Form,Position,Place) VALUES('" & NId & "','" + TbxKanaCustomer.Text + "','" + TbxCustomer.Text + "'," & Form & "," & Position & "," & Place & ")")

↑この部分で使うのかな、と思っているのですが正確なsqlが打てずエラーばかりで




a.Close()

End Sub

End Class





もしよろしければご教授ください m(__)m
引用返信 編集キー/
■12062 / inTopicNo.2)  Re[1]: VB2005 coalesce(MAX(id),0)+1
□投稿者/ 劫 (1回)-(2007/12/28(Fri) 17:37:27)
少なくとも学校は25日で冬休み突入では?

引用返信 編集キー/
■12063 / inTopicNo.3)  Re[2]: VB2005 coalesce(MAX(id),0)+1
□投稿者/ カルマ (2回)-(2007/12/28(Fri) 17:46:31)
2007/12/28(Fri) 17:48:31 編集(投稿者)

No12062 (劫 さん) に返信
> 少なくとも学校は25日で冬休み突入では?
>


うちの専門学校の最終学年はグループ課題で夏休みも無かったし、冬休みもほとんど無い上にさらに、、、他の課題も上乗せしてくるとこなので、、あまり詳細発言はできないので控えますが、、ネット経由で提出デス…
そんなわけで、正月もフル稼働の予定です(ー人ー)南無
おかげで、会社の研修課題すら間々なりませんw あと本5冊分まるまるのこってます(、、
引用返信 編集キー/
■12064 / inTopicNo.4)  Re[3]: VB2005 coalesce(MAX(id),0)+1
□投稿者/ れい (346回)-(2007/12/28(Fri) 18:23:18)
No12063 (カルマ さん) に返信
> うちの専門学校の最終学年はグループ課題で夏休みも無かったし、冬休みもほとんど無い上にさらに、、、他の課題も上乗せしてくるとこなので、、あまり詳細発言はできないので控えますが、、ネット経由で提出デス…
> そんなわけで、正月もフル稼働の予定です(ー人ー)南無
> おかげで、会社の研修課題すら間々なりませんw あと本5冊分まるまるのこってます(、、

応援してます。
がんばって!
引用返信 編集キー/
■12065 / inTopicNo.5)  Re[4]: VB2005 coalesce(MAX(id),0)+1
□投稿者/ カルマ (3回)-(2007/12/28(Fri) 18:48:10)
2007/12/28(Fri) 18:49:53 編集(投稿者)
2007/12/28(Fri) 18:49:47 編集(投稿者)

強引な方法ですが自己解決できました。
相当あせってたようです。。3行で。。。解決しました…

ありがとうございました&お騒がせしました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -