Click here to Skip to main content
15,902,636 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
C#
Server Error in '/' Application.

The multi-part identifier "stanly@test.com" could not be bound.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: The multi-part identifier "stanly@test.com" could not be bound.

Source Error: 


Line 45:         //SqlCommand  = new SqlCommand("select gender,address,mb from ureg where email=" + em+"", con);
Line 46: 
Line 47:         myReader = myCommand.ExecuteReader();
Line 48: 
Line 49:         while (myReader.Read())

Source File: c:\Users\Gangster\Desktop\test\akshara-multi-master\akshara-multi-master\usrhme.aspx.cs    Line: 47 

Stack Trace: 


[SqlException (0x80131904): The multi-part identifier "stanly@test.com" could not be bound.]
   System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +2418094
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5694436
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +285
   System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +3731
   System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +58
   System.Data.SqlClient.SqlDataReader.get_MetaData() +89
   System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +379
   System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest) +2064
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) +375
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +53
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +240
   System.Data.SqlClient.SqlCommand.ExecuteReader() +99
   usrhme.Page_Load(Object sender, EventArgs e) in c:\Users\Gangster\Desktop\test\akshara-multi-master\akshara-multi-master\usrhme.aspx.cs:47
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
   System.Web.UI.Control.OnLoad(EventArgs e) +95
   System.Web.UI.Control.LoadRecursive() +59
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +678

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.81.0


This is my usrhme.aspx
C#
<%@ Page Title="" Language="C#" MasterPageFile="~/akshara.master" AutoEventWireup="true" CodeFile="usrhme.aspx.cs" Inherits="usrhme" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <div class="padding100">
        <div class="container">
            <nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Dashboard</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
        <li><a href="lgut.aspx">L0g 0ut</a></li>
        <li class="dropdown">
               </ul>
    <!--  <form class="navbar-form navbar-left" role="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search">
        </div>
        <button type="submit" class="btn btn-default">Submit</button>
      </form>-->
  

    <h4 class="navbar-text navbar-right">Welcome <asp:Label ID="Label1" runat="server" ></asp:Label></h4>

    
  
    </div><!-- /.navbar-collapse -->
              

  </div><!-- /.container-fluid -->
</nav>
              <div class="page-header">

                     

          <h1> Your Profile</h1>
                  <table  class="table-responsive" width="100%">
                      <tr>
                          <td align="left" width="40%" id="myprfileinf">

                                 <div  class="input-group"  runat="server">
    <div>
       <asp:Label ID="labelname1" runat="server" Text="Name :"></asp:Label>  <asp:TextBox ID="name" runat="server" ReadOnly="True" CssClass="form-control"></asp:TextBox>
      <br /><asp:Label ID="label2" runat="server" Text="Gender"></asp:Label> 
        <span class="clearfix"></span>
        <asp:DropDownList ID="DropDownListGender" AppendDataBoundItems="true" runat="server" CssClass="btn btn-default dropdown-toggle" Enabled="False">
     <asp:ListItem Text="Male" Value="Male" />
            <asp:ListItem Text="Female" Value="Female" />
</asp:DropDownList>
        
        
        <br /><asp:Label ID="labelage1" runat="server" Text="Email:"></asp:Label>  <asp:TextBox ID="email" runat="server" ReadOnly="True" CssClass="form-control"></asp:TextBox>
      <br />  <asp:Label ID="labelname2" runat="server" Text="Mobile"></asp:Label>  <asp:TextBox ID="mb" runat="server" ReadOnly="True" CssClass="form-control"></asp:TextBox>
         <br /><asp:Label ID="labelage2" runat="server" Text="Address"></asp:Label> <asp:TextBox ID="add" runat="server" ReadOnly="True" CssClass="form-control"></asp:TextBox>

   
    
 
    </div>
    </div>
                          </td>
                          <td align="center" width="35%" id="dnate">

                          </td>
                          <td align="right" width="25%" id="prpicture">

                            <!--  <div class="panel panel-default">
  <div class="panel-heading">Panel heading without title</div>
  <div class="panel-body">
    Panel content
  </div>
</div> -->
                              <div class="row">
  <div class="col-sm-6 col-md-4">
    <div class="thumbnail" style="width: 141px;height: 248px;">
          <asp:Image runat="server" Width="200px" ImageUrl="~/img/def.png" ID="primage" CssClass="fa-file-photo-o">
                            </asp:Image>

            <div class="caption">
        <h3>Thumbnail label</h3>
        <p>...</p>
           <!--   <p>  <asp:Button ID="changepic" runat="server" CssClass="btn btn-primary" PostBackUrl="changepic.aspx"  Text="Change Pic"/> </p> -->
        
      </div>
    </div>
  </div>
</div>

                          </td>

                      </tr>

                  </table>
               
      </div>
                    
          </div>
        </div>

</asp:Content>



This is my usrhme.aspx.cs


C#
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
 

public partial class usrhme : System.Web.UI.Page
{
    

    string str;
    SqlCommand com;
 
    protected void Page_Load(object sender, EventArgs e)
    {

       if (Session["SessionID"] == null)
        {
            Response.Redirect("login.aspx");
        }

    string em = Session["email"].ToString();
        string us = Session["user"].ToString();
        Label1.Text = us;

        SqlConnection con = new SqlConnection("Data Source=ANDROIDAP\\SQLEXPRESS;Initial Catalog= petly;Integrated Security=True");

        
        DataTable dt = new DataTable();
        con.Open();
        SqlDataReader myReader = null;
        
        SqlCommand myCommand = new SqlCommand("SELECT gender, address, mb FROM ureg WHERE email = "+em+"", con);
      
        myReader = myCommand.ExecuteReader();

        while (myReader.Read())
        {
             DropDownListGender.SelectedItem.Text = (myReader["gender"].ToString());
           add.Text = (myReader["address"].ToString());
            mb.Text = (myReader["mb"].ToString());
            string MyQueryStr = "SELECT picture FROM ureg WHERE email=" + Session["email"].ToString();
            primage.ImageUrl = MyQueryStr;
            email.Text = (myReader["email"].ToString());
            name.Text = (myReader["name"].ToString());
        }

        con.Close();
   
    }

}


Please help , i am new to Asp, i needs to do this for my academic project.


my table name is ureg

All columns in the ureg are VARCHAR excluding the userID

What I have tried:

I have wrote the above piece of code and its giving me errors.
Posted
Updated 27-Apr-16 21:33pm

1 solution

Your problem is this:
C#
SqlCommand myCommand = new SqlCommand("SELECT gender, address, mb FROM ureg WHERE email = "+em+"", con);

OR this:
C#
"SELECT picture FROM ureg WHERE email=" + Session["email"].ToString();

You are missing quotes, simple said your SQL is not setup correctly

First you are vulnerable to SQL Injection by doing this. Better use parameters.

C#
SqlCommand myCommand = new SqlCommand("SELECT gender, address, mb FROM ureg WHERE email =@Email", con);
myCommand.Parameters.AddWithValue("@Email", em);

AND
C#
SqlCommand myCommand = new SqlCommand("SELECT picture FROM ureg WHERE email=@Email"; + myCommand.Parameters.AddWithValue("@Email",Session["Email"].ToString())
 
Share this answer
 
Comments
Member 12490150 28-Apr-16 3:38am    
Can you tell me how to setup the Parameters in my SQL, i think this is procedure calls 0r, can you correct the use of quotes in my SQL Query
Herman<T>.Instance 28-Apr-16 3:44am    
You are using MYSql in stead of SQL Server?
You can use MySqlCommand in stead of SqlCommand. See this post as example
Herman<T>.Instance 28-Apr-16 3:45am    
When using quotes:
string.Format("SELECT picture FROM ureg WHERE email={0}, Session["Email"]);
Karthik_Mahalingam 28-Apr-16 6:29am    
5
Member 12490150 28-Apr-16 6:55am    
Karthik , please help

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900