Npgsql में NpgsqlDataReader
है।
सम्मिलित पंक्तियों को पुनः प्राप्त करने के लिए वर्ग, उदा:
NpgsqlConnection conn = new NpgsqlConnection(connStr);
conn.Open();
NpgsqlCommand insertCmd =
new NpgsqlCommand("INSERT INTO binaryData (data) VALUES(:dataParam)", conn);
NpgsqlParameter param = new NpgsqlParameter("dataParam", NpgsqlDbType.Bytea);
byte[] inputBytes = BitConverter.GetBytes((int)0);
Console.Write("Input:");
foreach (byte b in inputBytes)
Console.Write(" {0}", b);
Console.WriteLine();
param.Value = inputBytes;
insertCmd.Parameters.Add(param);
insertCmd.ExecuteNonQuery();
NpgsqlCommand selectCmd = new NpgsqlCommand("SELECT data FROM binaryData", conn);
NpgsqlDataReader dr = selectCmd.ExecuteReader();
if(dr.Read())
{
Console.Write("Output:");
byte[] result = (byte[])dr[0];
foreach(byte b in result)
Console.Write(" {0}", b);
Console.WriteLine();
}
conn.Close();
सी# ऐप से परिणाम:
Input: 0 0 0 0
Output: 0 0 0 0
पीजीएडमिन से परिणाम:
"\000\000\000\000"
संपादित करें:
मुझे स्पष्टीकरण मिला कि आपको क्यों मिल रहा है:
92 48 48 48 48 48 48 48 48
मैंने पिछले संस्करण . के साथ अपना कोड चेक किया Npgsql2.0.10-bin-ms.net3.5sp1.zip
और उपरोक्त परिणाम प्राप्त करें (बेशक pgAdmin \000\000\000\000
लौटाता है) ), इसलिए मुझे लगता है कि इस बग के बिना किसी अन्य संस्करण का उपयोग करना सबसे अच्छा है।
उत्तर: 2.0.10 की तुलना में Npgsql का उपयोगकर्ता उच्चतर संस्करण