System.Data 中发生类型为"System.IndexOutOfRangeException"的未处理异常.dll位置 0 处没有行


using System; 
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace LMS
{
public partial class Member : Form
{
    public Member()
    {
        InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
        CreateNew();
    }

    void CreateNew()
    {
        textBox1.Text = "";
        textBox2.Text = "";
        textBox3.Text = "";
        textBox4.Text = "";
        textBox5.Text = "";
        comboBox1.Text = "";
        comboBox2.Text = "";
        comboBox3.Text = "";
        Connection con = new Connection();
        SqlDataAdapter sda = new SqlDataAdapter("Proc_member", con.ActiveCon());
        sda.SelectCommand.CommandType = CommandType.StoredProcedure;
        DataTable dt = new DataTable();
        sda.Fill(dt);
        textBox1.Text = dt.Rows[0][0].ToString();
        textBox2.Focus();
    }
    }
    }

我无法从此过程中获得任何值。我以不同形式使用了不同的过程名称的相同代码(我保存了所有的代码)。它可以完美地工作,但以其他形式可以不断产生此错误。我只是一个初学者,所以请以最简单的方式回答。

您的数据表已为空,您需要在

之前执行命令
using (SqlCommand command = new SqlCommand(sSql, con))
{
     using (SqlDataReader reader = command.ExecuteReader())
     {
          while (reader.Read())
          {     
               DataTable dtSchema = reader.GetSchemaTable();
               for (int i = 0; i < reader.FieldCount; i++)
               {
                   var fieldVal = reader.GetValue(i).ToString();
               }
          }
     }
}
private void button1_Click(object sender, EventArgs e)
{
    string[,] name = new string[2, 3] { {"amir","amir1","amir2" }, { " ali","ali2","ali3" } };
    int[,][] grid = new int[2,3][];
    grid[0,0] = new int[4] { 20, 15, 18, 17 };
    grid[0,1] = new int[2] { 14, 19 };
    grid[0,2] = new int[3] { 16, 14, 20 };
    grid[1,0] = new int[5] { 20, 15, 18, 17,16 };
    grid[1,1] = new int[1] { 19 };
    grid[1,2] = new int[4] { 16, 14, 13,15 };
    for (int i = 0; i < 6; i++)
    {
        int sum = 0;
        for (int j = 0; j < grid.Length - 1; j++)
            **sum = sum + grid[i, i][j];**

        listBox1.Items.Add(name[i,i] + " : " + (sum * 1.0 /
            grid[i,i].Length).ToString("##.00"));
    
    }
}

相关内容

  • 没有找到相关文章

最新更新