Solved

Column 'Colname' does not belong to table RowData.

Posted on 2014-02-19
3
1,175 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
  • 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

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

762 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

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now