Evo koda, pa ako je netko voljan pomoći:
Zapis:
Code:
byte[] bVektor = new byte[vektor.Length*4];
byte[] bTmp;
for (int i = 0; i < vektor.Length; i++)
{
bTmp = BitConverter.GetBytes(Convert.ToInt32(vektor[i]));// konvert double-a u int32, 32/8 = 4
for (int j = 0; j < 4; j++)
bVektor[4*i + j] = bTmp[j]; // tu treba biti *4 jer inace se prepisuje preko postojecih vrijednosti :)
}
OdbcCom = new OdbcCommand("insert into table(vektor) values (?)", Form3.OdbcCon);
OdbcCom.Parameters.Add("@vektor", OdbcType.Binary, bVektor.Length).Value = bVektor;
byte[] bVektor = new byte[vektor.Length*4];
byte[] bTmp;
for (int i = 0; i < vektor.Length; i++)
{
bTmp = BitConverter.GetBytes(Convert.ToInt32(vektor[i]));// konvert double-a u int32, 32/8 = 4
for (int j = 0; j < 4; j++)
bVektor[4*i + j] = bTmp[j]; // tu treba biti *4 jer inace se prepisuje preko postojecih vrijednosti :)
}
OdbcCom = new OdbcCommand("insert into table(vektor) values (?)", Form3.OdbcCon);
OdbcCom.Parameters.Add("@vektor", OdbcType.Binary, bVektor.Length).Value = bVektor;
Čitanje:
Code:
OdbcCommand naredba = new OdbcCommand("SELECT vektor FROM table WHERE id = " + ID + ";", Form3.OdbcCon);
OdbcDataReader reader = naredba.ExecuteReader();
if (reader.Read())
{
vektorTmp = (byte[])reader[0];
}
...
vektor = new int[vektorTmp.Length];
System.IO.MemoryStream ms = new System.IO.MemoryStream(vektorTmp.Length);
MessageBox.Show(vektorTmp.Length.ToString());
for (int i = 0; i < vektorTmp.Length/4; i++)
{
vektor[i] = ms.Read(vektorTmp, i*4, 4);
richTextBox1.AppendText(" " + vektorTmp[i].ToString());
}
OdbcCommand naredba = new OdbcCommand("SELECT vektor FROM table WHERE id = " + ID + ";", Form3.OdbcCon);
OdbcDataReader reader = naredba.ExecuteReader();
if (reader.Read())
{
vektorTmp = (byte[])reader[0];
}
...
vektor = new int[vektorTmp.Length];
System.IO.MemoryStream ms = new System.IO.MemoryStream(vektorTmp.Length);
MessageBox.Show(vektorTmp.Length.ToString());
for (int i = 0; i < vektorTmp.Length/4; i++)
{
vektor[i] = ms.Read(vektorTmp, i*4, 4);
richTextBox1.AppendText(" " + vektorTmp[i].ToString());
}