C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[1]: byteをDBに格納
(過去ログ 107 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■63918
/ inTopicNo.1)
byteをDBに格納
▼
■
□投稿者/ ひかり
(1回)-(2012/10/29(Mon) 11:40:29)
分類:[C#]
sqlserver 2008
framework3.5 SP1
C#
すみません。
C#初心者です。上の情報で十分ですか?
いま、データをDBに格納したく奮闘しております。
まず、格納したいものは、以下のような16進数のデータです。
「1E0015・・・」
いまはbool配列に{0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1・・・}のデータを8個ずつ
int配列に{30, 0, 5,・・・}と変換して
byte配列に{1E,0,15・・・}と変換しています。
bool配列からbyte配列に変換する方法はありますでしょうか?
また、byte配列のDBへの格納方法も合わせてお教えいただけると助かります。
よろしくおねがいします。
引用返信
編集キー/
編集
■63924
/ inTopicNo.2)
Re[1]: byteをDBに格納
▲
▼
■
□投稿者/ 魔界の仮面弁士
(75回)-(2012/10/29(Mon) 15:39:24)
■
No63918
(ひかり さん) に返信
> いま、データをDBに格納したく奮闘しております。
> まず、格納したいものは、以下のような16進数のデータです。
> 「1E0015・・・」
バイナリリテラルを含んだ SQL を実行するとか。
-- CREATE TABLE TBL ( ID INT IDENTITY PRIMARY KEY, BIN VARBINARY(MAX) )
INSERT INTO TBL (BIN) VALUES (0x1E0015)
> bool配列からbyte配列に変換する方法はありますでしょうか?
こちらは、泥臭い変換方法しか思いつきませんでした。
引用返信
編集キー/
編集
■63925
/ inTopicNo.3)
Re[2]: byteをDBに格納
▲
▼
■
□投稿者/ pang2
(3回)-(2012/10/29(Mon) 18:43:09)
> bool配列からbyte配列に変換する方法はありますでしょうか?
System.Collections.BitArrayクラスのコンストラクタにbool配列を渡し、
CopyToメソッドでbyte配列にコピーする。
> また、byte配列のDBへの格納方法も合わせてお教えいただけると助かります
そもそも、どういった方法でSQLを発行しているのか?
SqlCommand.ExecuteNonQueryを使うのであれば、パラメータにbyte配列を渡せばよい。
http://www.atmarkit.co.jp/fdotnet/dotnettips/253aspdbbinary/aspdbbinary.html
引用返信
編集キー/
編集
■63926
/ inTopicNo.4)
Re[1]: byteをDBに格納
▲
▼
■
□投稿者/ Jitta
(10回)-(2012/10/30(Tue) 06:35:12)
■
No63918
(ひかり さん) に返信
何がしたいのでしょう?以下、この「質問文」を読んだときに思ったこと。
まず、一覧上でタイトルを読みます。「byteをDBに格納」
ここで、「バイト配列を格納したいのか、1バイトを格納したいのか」とか、「データベースは何だろう?」「コネクションができないのだろうか?」などと思いながら、クリックして中身を見ます。
> まず、格納したいものは、以下のような16進数のデータです。
> 「1E0015・・・」
ふむふむ。
> いまはbool配列に{0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1・・・}のデータを8個ずつ
………は?byte じゃないの?何で bool 配列なの?
> int配列に{30, 0, 5,・・・}と変換して
> byte配列に{1E,0,15・・・}と変換しています。
> bool配列からbyte配列に変換する方法はありますでしょうか?
え?byte を DB に格納じゃないの?変換の方法を聞きたいの?
それにしても、bool から int に変換できているんだよね?どうして byte への変換が問題になるの?
int を介さずに直接 byte にしてやれば良いじゃない。
bool 配列から8個ずつ取っているんだよね?そのまま byte じゃない。
ということは、int への変換が間違ってるよ。int は32ビットだよ。
> また、byte配列のDBへの格納方法も合わせてお教えいただけると助かります。
へ?「助かる」と追加する程度なの?タイトルに持ってきているのに?
あなたが私のことを知らないのと同様、この質問文を読むほとんどの人は、あなたのことを知りません。
あなたにとって、bool 配列がある事はまったく当然のことなのかもしれませんが、あなたを知らない人にとっては、そうではありません。
もし、タイトルが「bool 配列から byte 配列にしたい」であれば、この内容でもかまわないかもしれません。
しかし、タイトルが「byte を DB に格納」なので、ここに繋げるように話を構成しないと、読む人は混乱します。
例えば、「いまは bool 配列に…」ではなく、「この格納したいデータの元はセンサー情報で、それぞれオン/オフの情報を bool 型として受け取ります。現在は、True を1、False を0として、それぞれ8組毎に1バイトを表すものとして扱っています」のようであれば、話が繋がっています。
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-