[ explorer-1 @ 14.01.2008. 22:48 ] @
Imam problem jedan.. imam bazu na MySQL, i koristim odbc u C#. Najprije pretvorim int polje u byte, i onda to zapisujem u bazu kao blob, no problem je pročitati. Gube mi se predznaci i to.. 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; Č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()); } |