user2704472
user2704472

Reputation: 219

Insert image into cassandra blob using C#

I am trying to insert an image into Cassandra table of column datatype blob

While inserting i get the error:

no variable alternative at input

ISession CluSession = cluster.Connect("dbs");
MemoryStream ms = new MemoryStream();
OpenFileDialog f = new OpenFileDialog();
f.InitialDirectory = @"H:\MobilePics_sufian\";
f.Filter = "All Files |*.*|JPEGs|*.jpg|Bitmaps|*.bmp|GIFs|*.gif";
            f.Multiselect = true;

DialogResult dr = f.ShowDialog();
int i = 0;
 if (dr == System.Windows.Forms.DialogResult.OK)
 {
   foreach(string file in f.FileNames)
   {
    i = 1;
    lstimage.Items.Add(file.ToString());
    FileStream fs = new FileStream(file.ToString(), FileMode.OpenOrCreate,  FileAccess.Read);
    byte[] MyData = new byte[fs.Length];
    fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
    CluSession.Execute("insert into Product1(id,name,p_image) values (" + i + "," + "hello" + "," + MyData.ToArray() + ")");

    i = i + 1;
    }
  }

Upvotes: 1

Views: 865

Answers (1)

ashic
ashic

Reputation: 6495

Use a parameterized query, like ( ... values(?, ?)...) and add parameters. The way you have your query, it's going to have values(1, "hello", "Array").... (or similar).

Check docs from here: https://github.com/datastax/csharp-driver

Upvotes: 2

Related Questions