Frage

Ich erhalte die oben genannten Fehler in meinem VS 2008 C # Methode, wenn ich versuche, die SQL getColumnNames gespeicherte Prozedur von VS. aufzurufen Dieser SP akzeptiert einen Eingabeparameter, um die Tabellennamen und arbeitet erfolgreich von SSMS. Derzeit bin ich die Auswahl der Tabelle für Adventureaddress es die Spaltennamen aus dieser Tabelle zu ziehen. Ich kann meine teh Adventure Tabelle in VS von Server-Explorer / Datenverbindung sehen. Und ich sehe sowohl die Address Tabelle und getColumnNames SP im Server-Explorer zeigt.

Aber ich bin immer noch diesen Fehler oben aufgeführt sind. Hier ist die C # -Code-Snippet Ich benutze dies auszuführen:

public static Datatable DisplayTableColumns (string tt)     {         SqlDataReader dr = null;         String Tablename = tt;         String connString = "Data Source = .; AttachDbFilename = \" C: \ Programme \ Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ AdventureWorks_Data.mdf \ "; Initial Catalog = Adventureworks; Integrated Security = True; Connect Timeout = 30; User Instance = false ";         String errorMsg;         SqlConnection conn2 = new SqlConnection (connString);         SqlCommand cmd = conn2.CreateCommand ();

    try
    {
        cmd.CommandText = "dbo.getColumnNames";
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Connection = conn2;
        SqlParameter parm = new SqlParameter("@TableName", SqlDbType.VarChar);
        parm.Value = TableName;
        parm.Direction = ParameterDirection.Input;
        cmd.Parameters.Add(parm);
        conn2.Open();
        dr = cmd.ExecuteReader();
    }
    catch (Exception ex)
    {
        errorMsg = ex.Message;
    }

Und wenn ich die errorMsg untersuchen es sagt der folgende:

"   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)\r\n   

bei System.Data.SqlClient.SqlInternalConnection.OnError (SqlException Ausnahme, Boolean Breakconnection) \ r \ n
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) \ r \ n
bei System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand CmdHandler, SqlDataReader Datenstrom, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) \ r \ n
bei System.Data.SqlClient.SqlDataReader.ConsumeMetaData () \ r \ n
bei System.Data.SqlClient.SqlDataReader.get_MetaData () \ r \ n
bei System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) \ r \ n
bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) \ r \ n
bei System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String-Methode, DbAsyncResult result) \ r \ n
bei System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String-Methode) \ r \ n
bei System.Data.SqlClient.SqlCommand.ExecuteReader (CommandBehavior Verhalten, String-Methode) \ r \ n bei System.Data.SqlClient.SqlCommand.ExecuteReader () \ r \ n
bei ADONET_namespace.ADONET_methods.DisplayTableColumns (String tt) in C: \ Dokumente und Einstellungen \ Admin \ Eigene Dateien \ Visual Studio 2008 \ Projects \ AddFileToSQL \ AddFileToSQL \ ADONET methods.cs: Linie 35"

Wo Linie 35

  

dr = cmd.ExecuteReader ();

War es hilfreich?

Lösung

Ich habe schnell Adventureworks-Datenbank und sehen Sie, dass die Tabelle „Address“ gehört das Schema „Person“. Versuchen Sie „Person.AddressType“ als Wert des Wertes des Befehlsparameter im Code übergeben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top