• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1372
  • Last Modified:

Column 'Colname' does not belong to table RowData.

I cannot figure this out.

The same code with other sql statements works in other pages.

Here is the code.

strSQL returns 7933 from the SQL Server Management window.

 strSQL = "SELECT Count(*) FROM SymbolWork1 AS WorkCount";  Cast as string
            SqlCommand cmdUpdatesDone1 = new SqlCommand(strSQL, conStockSelect);
            cmdUpdatesDone1.CommandType = System.Data.CommandType.Text;
            cmdUpdatesDone1.ExecuteNonQuery();
            cmdUpdatesDone1.Dispose();

            string strWorkCount;
            strWorkCount = GetColValue(conStockSelect, strSQL, "WorkCount", "String");
            lblStatus.Text = "Weekly update done " + strWorkCount + " SymbolWork1 rows created." ;
            conStockSelect.Close();

      private string GetColValue(SqlConnection pconStockSelect, string pstrSymbolNameSQL, string pstrColName, string pstrDataType)
        // Gets column value based on the SQL Select string
 
        {
            SqlCommand cmd = new SqlCommand(pstrSymbolNameSQL, pconStockSelect);

            // Try to open database and read information.

            SqlDataAdapter adpSymbol = new SqlDataAdapter();
            adpSymbol.SelectCommand = new SqlCommand(pstrSymbolNameSQL, pconStockSelect);

            DataSet dstSymbol = new DataSet();
            adpSymbol.Fill(dstSymbol, "RowData");

            if (dstSymbol.Tables[0].Rows.Count == 0)
            {
                return "None";
            }
            else
            {
                DataRow rowSymbol = dstSymbol.Tables[0].Rows[0];

                string strColValue = rowSymbol[pstrColName].ToString();
                // DateTime dteQuoteDate = Convert.ToDateTime(rowQuoteHistory["QuoteDate"]);

                return strColValue;
            }
        }

System.ArgumentException was unhandled by user code
  HResult=-2147024809
  Message=Column 'WorkCount' does not belong to table RowData.
  Source=System.Data
  StackTrace:
       at System.Data.DataRow.GetDataColumn(String columnName)
       at System.Data.DataRow.get_Item(String columnName)
       at StockProMax.Admin.MaintainDataWeekly.GetColValue(SqlConnection pconStockSelect, String pstrSymbolNameSQL, String pstrColName, String pstrDataType) in c:\Users\David\Documents\Visual Studio 2012\Projects\StockPickerMax\StockPickerMax\Admin\MaintainDataWeekly.aspx.cs:line 1142
       at StockProMax.Admin.MaintainDataWeekly.Page_Load(Object sender, EventArgs e) in c:\Users\David\Documents\Visual Studio 2012\Projects\StockPickerMax\StockPickerMax\Admin\MaintainDataWeekly.aspx.cs:line 140
       at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
       at System.Web.UI.Control.OnLoad(EventArgs e)
       at System.Web.UI.Control.LoadRecursive()
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
  InnerException:
0
Dovberman
Asked:
Dovberman
  • 2
1 Solution
 
Surendra NathTechnology LeadCommented:
here you go

I think you have to change the below

strSQL = "SELECT Count(*) FROM SymbolWork1 AS WorkCount";  Cast as string

to

strSQL = "SELECT Count(*) AS WorkCount FROM SymbolWork1 ";  

although the previous is a valid sql statement it is aliasing the table name instead of the column name, so you effectively you renamed symbolwork1 rather than workcount.
0
 
DovbermanAuthor Commented:
That explains why it works in 20 other places.

Does not work
strSQL = "SELECT Count(*) FROM SymbolWork1 AS WorkCount";

Works
string strMaxPctChgSQL = "SELECT MAX(PctChg) As MaxPctChg FROM Exceptions";

string strMaxPctChg = GetColValue(conStockSelect,

Thank you
0
 
DovbermanAuthor Commented:
Thank you.
0

Featured Post

Become an Android App Developer

Ready to kick start your career in 2018? Learn how to build an Android app in January’s Course of the Month and open the door to new opportunities.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now