未处理的异常:System.IndexOutOfRangeException

时间:2018-09-23 18:23:55

标签: c# .net sql-server

我正在尝试将我的代码连接到SQL Server数据库,并在控制台窗口中查看我的数据,但由于出现异常提示而无法这样做。

  

未处理的异常:System.IndexOutOfRangeException:userPassword。

我尝试了许多在网络上找到的解决方案,但没有一个对我有用。我是SQL Server的初学者,所以可能缺少明显的东西。

这是我的app.config文件:

<configuration>
    <appSettings>
        <add key="provider" value="System.Data.SqlClient"/>
        <add key="connectionString" 
             value="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Tayyab\Documents\myDatabase.mdf;Integrated Security=True;Connect Timeout=30"/>
    </appSettings>

    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
</configuration>

我的Program.cs文件包含:

namespace _6_11_2018
{
    public class Program
    {
        public static void Main(string[] args)
        {
            //working with database
            string provider = ConfigurationManager.AppSettings["provider"];
            string connectionString = ConfigurationManager.AppSettings["connectionString"];
            DbProviderFactory factory = DbProviderFactories.GetFactory(provider);

            using (DbConnection connection = factory.CreateConnection())
            {
                if(connection == null)
                {
                    Console.WriteLine("Connnection Error");
                    Console.ReadLine();
                    return;
                }

                connection.ConnectionString = connectionString;

                connection.Open();

                DbCommand command = factory.CreateCommand();

                if (command == null)
                {
                    Console.WriteLine("command Error");
                    Console.ReadLine();
                    return;
                }

                command.Connection = connection;

                command.CommandText = "Select * From userPassword";

                using (DbDataReader dataReader = command.ExecuteReader())
                {
                    while (dataReader.Read())
                    {
                        Console.WriteLine($"{dataReader["User"]} "
                            + $"{dataReader["userPassword"]}");
                    }
                }

                Console.ReadLine();
            }
        }
    }
}

谢谢!

1 个答案:

答案 0 :(得分:0)

您选择UseruserPassword

Console.WriteLine($"{dataReader["User"]} " + $"{dataReader["userPassword"]}");

但是userPassword表上没有userPassword列。 userPassword表中的列是“用户和密码”。