Я написал этот код с помощью Visual Studio 2015:
static string strconnect = "Dsn=mx86";
static public string strDoc_key = "";
static public bool bPicFounded = false;
OdbcDataAdapter dr = new OdbcDataAdapter();
DataSet ds = new DataSet();
Thread thread = null;
static public OdbcConnection dataConnection = new OdbcConnection(strconnect);
static public string strInitialDirectory = "";
public frmMain()
{
InitializeComponent();
try
{
if (dataConnection.State != ConnectionState.Open)
dataConnection.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void frmMain_Load(object sender, EventArgs e)
{
if (dataConnection.State != ConnectionState.Open)
{
this.Invoke(new MethodInvoker(delegate { this.Close(); }));
}
try
{
// this.Invoke(new MethodInvoker(delegate
// {
DataTable mydt = new DataTable();
using (OdbcCommand ord = new OdbcCommand("", dataConnection))
{
ord.CommandText = "SELECT `AnläggningsNr` GroupID ,`Beskrivning` GroupName from `Utrustningar` " +
"WHERE (((`NivåUpp`)='TOP') AND ((`Enhet`)='00'))";
mydt.Load(ord.ExecuteReader());
cboGroups.SelectedIndexChanged -= cboGroups_SelectedIndexChanged;
if (mydt.Rows.Count > 0)
{
cboGroups.ValueMember = "GroupID";
cboGroups.DisplayMember = "GroupName";
cboGroups.DataSource = mydt.DefaultView;
cboGroups.SelectedIndex = 0;
cboGroups_SelectedIndexChanged(null, null);
}
cboGroups.SelectedIndexChanged += cboGroups_SelectedIndexChanged;
}
}
catch (Exception ex)
{
MessageBox.Show("a)Message is: " + ex.Message);
}
}
Когда я делаю сборку для x86, выпадающий список заполняется system.data.datarowview
, но когда я делаю сборку для x64, он отлично работает.
В чем может быть причина этой проблемы?