[pgsql-jp: 38825] Re: Excel VBA + ODBC接続でデータ取得で、先頭1桁を返す場合がある?

藤澤 qsecofr1 @ hotmail.com
2007年 9月 27日 (木) 16:38:42 JST


自己レスです。
ASP.NET2.0 の方では問題なく取得できていました。
情報まで。

----------------------------------------
Windows XP (SP2)
Visual Studio 2005  (VB2005)
のデバッグモードで確認しました。
----------------------------------------

/藤澤



On Thu, 27 Sep 2007 15:50:00 +0900 (JST)
藤澤 <qsecofr1 @ hotmail.com> wrote:

> 堂前さん
> 
> ありがとうございます。
> varchar(3) に変更すると、正しく表示されました。
> ----------------------------------------
> ALTER TABLE t1
> ALTER COLUMN c1 TYPE VARCHAR(3);
> ----------------------------------------
> 
> ですが。。。
> 投稿したVBAは、実運用テーブルから値を取得するツールで使用する予定
> なのです。なので、テーブルの桁数を増やすという訳にいかないです。
> 
> 
> ちなみに、
> SELECT文を修正して、
>     strSql = "SELECT '''' || c1 AS c1, '''' || c1 AS c2, '''' || c3 AS c3 FROM t1" 
> とか
>     strSql = "SELECT 'a' || c1 AS c1, 'a' || c1 AS c2, 'a' || c3 AS c3 FROM t1" 
> とすると、正常に取得できました。
> 先頭のシングルクォーテーションや a は後から除去します。
> 追加情報です。
> 
> 
> ## ん?システムでは、ASP.NET2.0 でODBC接続で値を取得しているけど、
> ## こっちも確認せなマズイ!!  (ひとりごと)
> 
> 
> /藤澤
> 
> 
> 
> On Thu, 27 Sep 2007 14:40:46 +0900 (JST)
> Yutaka Doumae <doumae @ joy.ocn.ne.jp> wrote:
> 
> > 堂前です
> > 
> > 藤澤さん wrote:
> > 
> > > ■テーブルとデータの作成
> > > hoge=> create table t1 (
> > > hoge(>   c1 varchar(2),
> > > hoge(>   c2 varchar(2),
> > > hoge(>   c3 varchar(20)
> > > hoge(> );
> > > CREATE TABLE
> > 
> > > hoge(>   c1 varchar(3),
> > > hoge(>   c2 varchar(3),
> > 
> > だとどうでしょう?
> > 
> > varchar(2) だと 1文字 + '\0' = 2文字じゃないかな?
> > 
> > -- 
> > doumae @ joy.ocn.ne.jp
> 
> 






pgsql-jp メーリングリストの案内