2015-08-18 148 views
1

我试图将图像插入列数据类型blob插入图像插入使用C#

的卡桑德拉表时,同时将我的错误卡桑德拉斑点:

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; 
    } 
    } 

回答

2

使用参数化查询,像(... values(?,?)...)并添加参数。你有你的查询的方式,它将有值(1,“你好”,“阵列”)....(或类似)。

检查文档从这里:https://github.com/datastax/csharp-driver

+0

非常感谢所有的帮助和时间,真的很感激。 var ps = CluSession.Prepare(“insert into Product(id,name,p_image)values(?,?,?)”); var statement = ps.Bind(1,file.ToString(),MyData); CluSession.Execute(statement); – user2704472