ThinkGeo.com    |     Documentation    |     Premium Support

ExecuteQuery return junk data in unicode columns

 hi dears


 


plz look at the code below:


 string qstr = "select ADDRESS from shapfilename";



   flayer.Open();
            DataTable dataTable = flayer.QueryTools.ExecuteQuery(qstring);
            flayer.Close();
 
 
at here we are  looking for data in shp file that fill with unicode data(not english) but dataTable will be fill with some
junk values  is it a bug and can't query unicode data? 



Hello hossein, 
  
 Here we have a property of Layer is Encoding, encoding is for decode the text of the DBF file; for example DBF data is Unicode, so the Layer should be Unicode to be decode correctly. If the encode is wrong, both value and column name will be encoded, so that we can’t find the column name from which you set in the code behind.  
  
 Here is the code: 
 Layer.Encoding = System.Text.Encoding.Unicode 
  
 Please have a try and let me know if you have problems, 
  
 Regards, 
  
 Gary

thanks ThinkGeo for your best support team 
 i did what you sad before but still have problem about that and dont know what’s going on? therefor i decided  to change my idea . 
 what about MsSql2008FeatureLayer? 
 in samples i can’t find any good example that describe this layer type such as how we can create table and etc 
 could you help me? 
  
 sincerely yours 


Hello hossein, 
  
 If you mind to let me know what’s the problem you have met to use the layer encoding? With more information, I can help you to resolve the problem. 
  
 We have a sample of MsSql2008FeatureLayer in HowDoISamples, but we don’t have any sample shows how to create table with MsSql2008FeatureLayer , usually the table is already created before it’s used in Map Suite, you can create it using a tool like SQL Managment Stuido, or you want to create it dynamic? 
  
 Sorry for the inconvenience, 
  
 Regards, 
  
 Gary

thank gary i solve the problem of course do create table dynamically with static method of MsSql2008FeatureLayer there is some complexity in your  
 API but never mind! we have only one ThinkGeo ! (Think what Think Geo) 
   featureLayer.Encoding = System.Text.Encoding.Default; 

Hello hossein, 
  
 I’m glad it’s working, any time when you meet problems, just let us know. 
  
 Regards, 
  
 Gary