tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: SQLサーバの更新
投稿日: 2013/12/14(Sat) 23:44
投稿者かっちゃん
> >   JU-NO   JU- NAME     JU- JUSYO   JU-CODE
> >   Dim wkstrSql = "select JU-NO , JU- NAME , JU- JUSYO , JU-CODE from JusyoF"
>
> [JU-NAME] と[JU-JUSYO] ではなく、
> [JU- NAME]と[JU- JUSYO]なのですね?
>
>
> 本来は、空白やマイナス記号を含んだ列名を作るべきでは無いのですが、
> どうしてもそうした名前が必要な場合には、それぞれを
>  = "select [JU-NO], [JU- NAME], [JU- JUSYO], [JU-CODE] from [JusyoF]"
> のように、角括弧で囲む必要があります。
>
> そうしないと、「JU-CODE」が「JU から CODE を引いた値」という数式として
> 誤解されてしまいますので。
>
>
> 仮に、「-」の部分がマイナス記号で無かったとしても、空白が含まれていると、
> それが別名の指定であると誤解され、
>  = "select [JU-NO], [JU-] AS [NAME], [JU-] AS [JUSYO], [JU-CODE] from [JusyoF]"
> の意味で認識されてしまうかと思います。
>
>
> > Dim pk() As DataColumn = {JusyoFDt.Columns("JU-NO")}
> 上記では「JU-NO」という列名にしていますが、
> > pc("JU-NO _New").Value = row("JU-NO ")
> こちらは「JU-NO 」という列名を右辺に指定していますね。
> 本当の列名はどちらなのでしょうか?
>
> もし、末尾に空白を含む名前ならであれば、SQL 文を記述する際、
> SELECT * FROM の構文を使うか、先述したように
> フィールド名を角括弧で囲まないと呼び出せないはずです。
> (囲み記号はダブルクォーテーションでも OK)
>
>
> 今のままだと、そもそも
> > 最後のReturn cmd.ExecuteNonQueryのロジックで
> > “'?' 付近に不適切な構文があります。”
> に到達する前にエラーになってしまいそうですが…。
>
>
> > “'?' 付近に不適切な構文があります。”
> ? を使うのは System.Data.Odbc です。System.Data.SqlClient の場合は
>  = "UPDATE [JusyoF] SET [JU-NO] = @p1, …"
> とか
>  = "UPDATE [JusyoF] SET [JU-NO] = [@JU-NO _New], …"
> などのように、@で始まる名前で指定します。
>
> Parameters.Add で使う名前も、同様に同じ名前をセットしてください。

魔界の仮面弁士 様
ありがとうございます。
@p1, …" ですか
ACCESSでは更新できたのに
SQLサーバーではなぜと、色々とロジックを変えてやってみましたが
できなかったので、助かりました。
さっそく月曜日に実施してみます。
本当に本当に
ありがとうございました

      かっちゃん

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。