Solved

Column 'Colname' does not belong to table RowData.

Posted on 2014-02-19
3
1,256 Views
Last Modified: 2014-02-20
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
Comment
Question by:Dovberman
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 16

Accepted Solution

by:
Surendra Nath earned 500 total points
ID: 39872053
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
 

Author Comment

by:Dovberman
ID: 39873034
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
 

Author Closing Comment

by:Dovberman
ID: 39873035
Thank you.
0

Featured Post

The Orion Papers

Are you interested in becoming an AWS Certified Solutions Architect?

Discover a new interactive way of training for the exam.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
This video Micro Tutorial shows how to password-protect PDF files with free software. Many software products can do this, such as Adobe Acrobat (but not Adobe Reader), Nuance PaperPort, and Nuance Power PDF, but they are not free products. This vide…
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…

724 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question