0

Mysql の列の値から符号なしバイトを取得するだけのコードがあります。

MySqlDataReader reader = MasterServer.Instance.Sql_Connection.Reader;
reader.Read();
sbyte slot = (sbyte)reader.GetByte("slot");

テーブル内の私の列の「スロット」は TINYINT(3) であり、署名済みとしてマークされています。

ただし、コードは -1 を返す必要があるため、0 を返します (テストの列には -1 があります)。なぜですか?ありがとう!

C#

4

1 に答える 1

0

私はお勧めしますが、列のインデックスに応じて、GetByte(column,...)

sbyte slot = (sbyte)reader.GetBytes(0,0,null,0);

これは、SQL ステートメントが次のようになっている場合SELECT slot FROM tableですGetBytes(0,...)

SqlDataReader にはGetByte関数があります

于 2013-08-26T13:45:18.323 に答える