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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■51290  Re[2]: APIを使ったプログラミング
□投稿者/ とっちゃん -(2010/07/01(Thu) 11:04:20)
>
    No51287 (ナノ名賀 さん) に返信
    > 上記の本は、C++によるプログラミングで.netとは違うものなのですか?

    http://itpro.nikkeibp.co.jp/article/MAG/20100604/348886/
    日経BPさんのサイトで本の紹介がされていますので、リンクを張っておきます。

    最初のサンプルや紹介を見る限りでは、.NET Framework は使っていないみたいです。
    また、書籍そのものは Visual C++ 2010 Express Edition を使って解説しているそうです。



    No51288 (マサヤ さん) に返信
    > .Net FrameWorkとWin32APIの違いはご存知でしょうか?
    正しくは、.NET Framework です(省略する場合は netfx)。
記事No.51287 のレス /過去ログ86より / 関連記事表示
削除チェック/

■56469  Re[3]: anyURI型へのデータ格納
□投稿者/ 魔界の仮面弁士 -(2011/01/14(Fri) 15:28:52)
    2011/01/14(Fri) 15:39:38 編集(投稿者)

    No56467 (ペンギン さん) に返信
    > 教えて頂いた対処法を上記ソースのどこに実装すれば良いのかよく分かっていません。

    具体的には、
    >> oDataRow[oDataRowArray2[j]["FIELD_ID"].ToString()] = DATA_DS.Tables[PA_FORM_ID].Rows[i][oDataRowArray2[j]["FIELD_ID"].ToString()];
    の部分です。上記の長い一行を書き換えると、
     string colName = oDataRowArray2[j]["FIELD_ID"].ToString();
     object data = DATA_DS.Tables[PA_FORM_ID].Rows[i][colName];
     oDataRow[colName] = data;
    になるわけですが、その最後の部分を
     oDataRow[colName] = new Uri((string)data);
    にするという事です。(列名等を変数に受けるか、一行で書いてしまうかはお好みで)


    ただしソース以前に、データの内容にも問題があります。

    エラーメッセージが
    >「値の型が列の型と合いません。列 WKCD に <testname> を格納できませんでした。 必要な型は Uri です。」
    になるという事は、現状のコードは
     oDataRow[colName] = "testname";
    に相当する処理が行われた物と想像します。しかし "testname" は有効な URI ではありませんので、
    元データを直さない限り System.Uri 型として扱う事はできません。new Uri(data) が使える形式は、
    たとえば "ftp://ftp.unicode.org/Public/UNIDATA/EastAsianWidth.txt" とか
    "http://www.w3.org/2001/XMLSchema" とか "urn:isbn:4-939039-02-1" とか
    "tel:81+120-220-340" などといった文字列です。
記事No.56464 のレス /過去ログ95より / 関連記事表示
削除チェック/

■62664  Re[9]: プログラムの練習問題でわからないことが
□投稿者/ 堀江伸一 -(2011/10/25(Tue) 08:23:52)
    うーんいろいろ考えましたがこのコードをこれ以上高速化する方法を当分考えつきそうもありません。
    とりあえず解決とします。
記事No.62618 のレス / END /過去ログ105より / 関連記事表示
削除チェック/

■94986  SQLサーバーで列をコピーしたい
□投稿者/ たかし -(2020/06/09(Tue) 10:12:15)

    分類:[データベース全般] 

    お世話になっております、たかしです。

    Q在庫一覧表(View)の「期末残高」列をT商品マスター(テーブル)の「期首残高」列に
    丸々コピーしたくて、以下のようなプロシージャを考えたのですが、
    「System.Data.SqlClient.SqlException- 'テーブル '' の列 '' に値 NULL を挿入できません。
    この列では NULL 値が許可されていません。INSERT は失敗します。」
    というエラーが出てしまいます。
    コピーしたいのは期末残高のみで商品コードではないのですが、何故このようなエラーが出るのでしょうか?
    どなたかよろしくお願いいたします。

    INSERT INTO T商品マスター(
    期首残高
    )
    SELECT
    期末残高
    FROM Q在庫一覧表
親記事 /過去ログ164より / 関連記事表示
削除チェック/

■94987  Re[1]: SQLサーバーで列をコピーしたい
□投稿者/ たかし -(2020/06/09(Tue) 10:21:10)
    No94986 (たかし さん) に返信
    > お世話になっております、たかしです。
    >
    > Q在庫一覧表(View)の「期末残高」列をT商品マスター(テーブル)の「期首残高」列に
    > 丸々コピーしたくて、以下のようなプロシージャを考えたのですが、
    > 「System.Data.SqlClient.SqlException- 'テーブル '' の列 '商品コード' に値 NULL を挿入できません。
    > この列では NULL 値が許可されていません。INSERT は失敗します。」
    > というエラーが出てしまいます。
    > コピーしたいのは期末残高のみで商品コードではないのですが、何故このようなエラーが出るのでしょうか?
    > どなたかよろしくお願いいたします。
    >
    > INSERT INTO T商品マスター(
    > 期首残高
    > )
    > SELECT
    > 期末残高
    > FROM Q在庫一覧表
    >
記事No.94986 のレス /過去ログ164より / 関連記事表示
削除チェック/

■94988  Re[2]: SQLサーバーで列をコピーしたい
□投稿者/ たかし -(2020/06/09(Tue) 10:26:22)
    No94987 (たかし さん) に返信
    > ■No94986 (たかし さん) に返信
    >>お世話になっております、たかしです。
    >>
    >>Q在庫一覧表(View)の「期末残高」列をT商品マスター(テーブル)の「期首残高」列に
    >>丸々コピーしたくて、以下のようなプロシージャを考えたのですが、
    >>「System.Data.SqlClient.SqlException- 'テーブル '' の列 '商品コード' に値 NULL を挿入できません。
    >>この列では NULL 値が許可されていません。INSERT は失敗します。」
    >>というエラーが出てしまいます。
    >>コピーしたいのは期末残高のみで商品コードではないのですが、何故このようなエラーが出るのでしょうか?
    >>どなたかよろしくお願いいたします。
    >>
    >> INSERT INTO T商品マスター(
    >> 期首残高
    >> )
    >>SELECT
    >>期末残高
    >>FROM Q在庫一覧表
    >>

    度々すいません、エラーの列名は'商品コード'です。
    プライマリキーですのでNULL値ではありません。
記事No.94986 のレス /過去ログ164より / 関連記事表示
削除チェック/

■94990  Re[3]: SQLサーバーで列をコピーしたい
□投稿者/ Hongliang -(2020/06/09(Tue) 10:48:54)
    > INSERT INTO T商品マスター(
    > 期首残高
    > )
    > SELECT
    > 期末残高
    > FROM Q在庫一覧表

    このクエリだと、T商品マスターの期首残高列以外の列にはすべて既定値が設定された新しい行が挿入されますが、普通に考えると商品コードなんて自動採番するものでもないでしょうしNULLとなって挿入失敗ということになるんじゃないでしょうか。
    商品コードを持った行はすでにT商品マスターにあるのであればINSERTじゃなくてUPDATEを行うことになります。
    INSERTする(T商品マスターにその商品コードを持った行がない)のであれば、少なくとも期末残高のほかに商品コードも一緒にINSERTする必要があるでしょう。
記事No.94986 のレス /過去ログ164より / 関連記事表示
削除チェック/

■94989  Re[3]: SQLサーバーで列をコピーしたい
□投稿者/ shu -(2020/06/09(Tue) 10:48:16)
    No94988 (たかし さん) に返信

    INSERTしているので
    プライマリキーの列がNullでSelectした列が期首残高に入るよう
    レコードを追加しようとしているためエラーになります。
    T商品マスターにもともとデータがあってQ在庫一覧表に商品コードが該当する
    列があるならjoinしてupdateするのがよいかと思います。
記事No.94986 のレス /過去ログ164より / 関連記事表示
削除チェック/

■94991  Re[3]: SQLサーバーで列をコピーしたい
□投稿者/ kiku -(2020/06/09(Tue) 11:05:03)
    > >> INSERT INTO T商品マスター(
    > >> 期首残高
    > >> )
    > >>SELECT
    > >>期末残高
    > >>FROM Q在庫一覧表

    上記SQL文は下記の実行後のように、nullを挿入しようとしています。

    ●実行前
    ・T商品マスター
     商品コード,期首残高,A1,A2,A3
     1,100,A1,A2,A3
     2,200,A1,A2,A3
    ・Q在庫一覧表
     商品コード,期首残高,B1,B2,B3
     1,300,B1,B2,B3
     2,400,B1,B2,B3
     3,500,B1,B2,B3
     4,600,B1,B2,B3

    ●実行後
    ・T商品マスター
     商品コード,期首残高,A1,A2,A3
     1,100,A1,A2,A3
     2,200,A1,A2,A3
     null,300,null,null,null
     null,400,null,null,null
     null,500,null,null,null
     null,600,null,null,null

記事No.94986 のレス /過去ログ164より / 関連記事表示
削除チェック/

■94992  Re[4]: SQLサーバーで列をコピーしたい
□投稿者/ たかし -(2020/06/09(Tue) 12:43:02)
    No94991 (kiku さん) に返信
    >>>> INSERT INTO T商品マスター(
    >>>> 期首残高
    >>>> )
    >>>>SELECT
    >>>>期末残高
    >>>>FROM Q在庫一覧表
    >
    > 上記SQL文は下記の実行後のように、nullを挿入しようとしています。
    >
    > ●実行前
    > ・T商品マスター
    >  商品コード,期首残高,A1,A2,A3
    >  1,100,A1,A2,A3
    >  2,200,A1,A2,A3
    > ・Q在庫一覧表
    >  商品コード,期首残高,B1,B2,B3
    >  1,300,B1,B2,B3
    >  2,400,B1,B2,B3
    >  3,500,B1,B2,B3
    >  4,600,B1,B2,B3
    >
    > ●実行後
    > ・T商品マスター
    >  商品コード,期首残高,A1,A2,A3
    >  1,100,A1,A2,A3
    >  2,200,A1,A2,A3
    >  null,300,null,null,null
    >  null,400,null,null,null
    >  null,500,null,null,null
    >  null,600,null,null,null
    >
    >

    shuさん、Hongliangさん、kikuさん、ありがとうございました。
    以下のようなコードでなんとか解決することが出来ました。

    UPDATE T商品マスター
    SET T商品マスター.期首残高 = Q在庫一覧表.期末残高
    FROM Q在庫一覧表
    WHERE Q在庫一覧表.商品コード = T商品マスター.商品コード

    また解らないことが出てきたときは、よろしくお願いいたします。

記事No.94986 のレス / END /過去ログ164より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -