什么's wrong in my code

Socarsky.

众所周知的成员
加入
2014年3月3日
消息
59
编程经验
Beginner
当我点击ComboBox箭头时导致Crach的代码中有什么问题


private void ConnPervasive()
        {
            Form1.populate();
            getDBname = Form1.passDBname;

            // Pervasive Sql connection string
            string ConnStrPSql = "Server Name=XXXXX;Database Name=" + getDBname + ";User ID=administrator;Password=XXXXXXX;";
        
            using (PsqlConnection conn = new PsqlConnection(ConnStrPSql)) 
            {
                try 
                {
                    conn.Open();

                    string strPSqlCmd1 = "SELECT A.R_KAYNAKKODU as Tezgah, B.AD as TezgahAdi FROM xxx A LEFT OUTER JOIN xxxx B ON A.R_KAYNAKKODU = B.KOD WHERE A.EVRAKNO = '" + AddWhiteSpace(txtMPS.Text) + "' AND A.ACIK_KAPALI = '' AND B.AD <> ''";
                
                    using (PsqlCommand command = new PsqlCommand(strPSqlCmd1, conn))
                    {
                        DataTable dt = new DataTable();
                        dt.Columns.Add(new DataColumn("Tezgah", typeof(string)));
                        dt.Columns.Add(new DataColumn("TezgahAdi", typeof(string)));

                        PsqlDataReader reader = command.ExecuteReader(CommandBehavior.Default);
                        DataRow myRow;
                        while (reader.Read()) 
                        {
                            myRow = dt.NewRow();
                            myRow.ItemArray[0] = reader[0];
                            myRow.ItemArray[1] = reader[1];
                            dt.Rows.Add(myRow);
                        }
                        reader.Close();
                        comboBox1.DisplayMember = "Tezgah";
                        comboBox1.DrawMode = DrawMode.OwnerDrawVariable;
                        comboBox1.ColumnWidths = "50;150";
                        comboBox1.DataSource = dt;
                        comboBox1.Text = String.Empty;
                
                        if (dt != null && dt.Rows.Count > 0) 
                        {
        
                            MessageBox.Show("Harika bir kac kayit var");
                        } 
                        else 
                        {
                            MessageBox.Show("==> There is not any record in Database! \n ~~> Tidak ada itu MPS nomor dalam Database!");
                        }
                    }
                } 
                catch 
                {
                    MessageBox.Show("Database Connection Problem Occurred!.");
                }
            }
        }
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,731
地点
悉尼,澳大利亚
编程经验
10+
崩溃是一个不安的例外。如果在调试时未处理异常,则IDE显示异常助理窗口,它提供错误消息和堆栈跟踪,其中包括抛出异常的位置。你甚至看过那个信息吗?提供它以帮助您诊断问题。如果您希望我们诊断该问题,那么为我们提供这些信息,它不会有意义吗?

如果在调试的同时没有抛出异常,那么乞求问题,为什么它是未处理的?在这种情况下,首先要做的是添加异常处理,然后您可以获得相同的信息。理想情况下,所有应用程序都应包含全局异常处理程序,以便您可以捕获意外的异常,记录它们,然后优雅地退出而不是崩溃。
 

Socarsky.

众所周知的成员
加入
2014年3月3日
消息
59
编程经验
Beginner
嗨jmplhinney,首先是抱歉没有表达例外情况。不幸的是,没有任何异常抛出。这就是为什么我不能遵循此事的标志来解决。
有一件事让我怀疑使用Itemarray。我会尝试在MSDN中显示它的示例。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,731
地点
悉尼,澳大利亚
编程经验
10+
我非常怀疑没有例外,但无论如何,你调试了代码吗?你应该已经完全了解你至少得到了什么代码。在代码的顶部放置一个断点,然后按线路步骤。您可以快速确定哪个是最后一行执行,然后您可以在该行上放置一个断点,然后在下次通过该行仔细检查该行的应用状态。
 

Socarsky.

众所周知的成员
加入
2014年3月3日
消息
59
编程经验
Beginner
我知道一般而言,这通常会使这种崩溃如你可以猜到在运行时发生在Multicolunmcombobox的箭头中发生。我试着用调试尽力而为。谢谢
 

Socarsky.

众所周知的成员
加入
2014年3月3日
消息
59
编程经验
Beginner
我抓住了一些我的想法。但是很难解决这个问题。这是来自VB.NET转换的MulticumnCombobox的类。 :(
Ubound.jpg.

嗯,我有一些相关的Ubound,我必须弄清楚它在.NET中使用的地方,因为转换器使方法描述了它。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,731
地点
悉尼,澳大利亚
编程经验
10+
Hi jmcilhinney,
如何使用以下详细信息编写Ubound方法?这被阻止了解领先的方式。

甚至不应该在vb中使用ubound。你有没有检查vb中的ubound吗?不难发现,虽然它应该是相当明显的。您通常如何在C#中做同样的事情?
 

Socarsky.

众所周知的成员
加入
2014年3月3日
消息
59
编程经验
Beginner
最后,我用询问事情解决问题。即使它也可以是一个简单的事情,这很好地处理问题 :)
这是我的解决方案:Bu现在我必须关注ItemArray ..因为我的ComboBox是空的。
Ubound_sorun_cozuldu.png.
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,731
地点
悉尼,澳大利亚
编程经验
10+
我还没在C#中这样做。

当然,你以前使用的阵容中使用了`for`循环,或者至少看到一个。
for (int i = 0; i < myArray.Length; i++)
 
最佳 底部