Attempted to read or write protected memory

hii have sầu developed an desktop application using vs 2008 language c#sql VPS compact 3.5i have import all necessary dllSystem.Data.SqlServerCe.dllsqlceca35.dllsqlcecompact35.dllsqlceer35EN.dllsqlceme35.dllsqlceoledb35.dllsqlceqp35.dllsqlcese35.dll& deploy it while it is running without any error on this PC when i install thiết đặt on client machine it will bởi vì insertion accurately in database.sdf và also retrieve data for autcomplete.when i want khổng lồ retrieve sầu data from it khổng lồ fill full bộ box or gridit will generate error "attempted lớn read write protected memory. this is often an indication that other memory is corrupt"Note:if i install this thiết lập on some other pc which have sầu vs2008 it will work fine without any error...Will i have sầu to install some other thing also on Client Pc?i also try khổng lồ build in VS2008:Tools->OptionsDebugging->Generaluncheck option "Suppress JIT optimization on module load"but result will be same.if any one have any idea why this happen và how khổng lồ giảm giá with situationThanks in Advance...additonal information copied from bình luận below

//Here is a class that i used for store & retrive sầu data from dbusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlServerCe;using System.Data;using System.Windows.Forms;using System.IO;namespace SalePurchase class dataBase private SqlCeDataAdapter ad; private SqlCeCommvà cmd; private string StringdbFileName=("Data Source=" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\sp.sdf").Replace(
"file:", ""); private SqlCeConnection coon; public dataBase() coon = new SqlCeConnection(StringdbFileName); coon.Close(); //This method is for insertion work fine public int ExecuteSQL(string Query) try coon.Open(); cmd = new SqlCeCommand(); cmd.Connection = this.coon; cmd.CommandText = Query; return cmd.ExecuteNonQuery(); catch (Exception ex) throw ex; finally coon.Close(); //This method is for Fill DatGrid và Auto lớn complete but it only works for AutoComplete not for DataGrid public DataTable GetDataTable(string Query) try //if (coon.State == ConnectionState.Closed) // // coon.Open(); // coon.Open(); DataTable dt = new DataTable(); cmd = new SqlCeCommand(); cmd.CommandText = Query; ad = new SqlCeDataAdapter(Query,coon); ad.Fill(dt); return dt; catch (Exception ex) throw ex; finally coon.Close(); // this metthod is for FillComboBox public void FillComboBox(string Query, string DisplayMember,string ValueMember, ComboBox cmb) try coon.Open(); DataTable dt = new DataTable(); cmd = new SqlCeCommand(); cmd.CommandText = Query; ad = new SqlCeDataAdapter(Query, coon); ad.Fill(dt); cmb.DataSource = dt; cmb.DisplayMember = DisplayMember; cmb.ValueMember = ValueMember; catch (Exception ex) throw ex; finally coon.Close();