Reputation: 219
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
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