找不到列[MyDate]。 [英] Cannot find column [MyDate].

查看:89
本文介绍了找不到列[MyDate]。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我想将文本框中输入的数据与DataTable中的数据进行比较但是我收到此错误:找不到列[Date]。

T-Sql代码:

  ALTER   PROC  [dbo]。[getCreditCard ] 

AS
BEGIN
IF NOT EXISTS SELECT CardNumber,NameOnCard,ExpiresEnd 作为 MyDate FROM [dbo]。[CardBank ])
开始
PRINT N ' 请求失败!'
return 0
结束
其他
开始
选择 * 来自 [dbo]。[CardBank]
PRINT N ' 请求成功'
return 1
end
END



和c#代码:



 DataTable dt = _CreditCardInfo.GetCreditCard()。表[ 0 ]; 
_CreditCardInfo.CardNumber = TextBoxCardNumber.Text.Trim();
string dropDowlistYear = DropDownListYears.SelectedValue;
string dropDowlistMonth = DropDownListMonth.SelectedValue;
DataRow [] drCardNumber = dt.Select( CardNumber =' + TextBoxCardNumber.Text .ToString()。Trim()+ ');
DataRow [] drNameOnCard = dt.Select( NameOnCard =' + TextBoxNameOnCard.Text .ToString()+ ');
DataRow [] drValidFrom = dt.Select( MyDate =' + dropDowlistYear + < span class =code-string> / + dropDowlistMonth + ');
// DataRow [] ExpiresEnd = dt.Select(ExpYear ='+ dropDowlistMonth1 +' );
if (drCardNumber.Length > 0 && drNameOnCard.Length > 0 & & drValidFrom.Length > 0
{
Response.Redirect( Default.aspx);
}
else
{
LabelMessage.Text = 卡名或卡号无效。;
LabelMessage.ForeColor = Color.Red;
return ;
}





这是我班上的代码:

  public  DataSet GetCreditCard()
{
return SqlHelper.ExecuteDataset(SqlHelper) .GetConnection(), [getCreditCard]);
}





你可以看到我想从Datatable获得它。

可以有人help!

解决方案

更改存储过程的else部分



SELECT * FROM [dbo] 。[CardBank]







SELECT CardNumber,NameOnCard,ExpiresEnd As MyDate FROM [dbo]。 [CardBank]

Hi I want to compare the data entered in a textbox to the data I have in DataTable but I am getting this error: Cannot find column [Date].
T-Sql code:

ALTER PROC [dbo].[getCreditCard]

AS
BEGIN
   IF NOT EXISTS(SELECT CardNumber,NameOnCard,ExpiresEnd As MyDate FROM  [dbo].[CardBank] )
       begin
         PRINT N'Request failed!'
         return 0
       end
       else
       begin
          select * from [dbo].[CardBank]
          PRINT N'Request succeeded'
          return 1
        end
END


and c# code:

DataTable dt = _CreditCardInfo.GetCreditCard().Tables[0];
       _CreditCardInfo.CardNumber = TextBoxCardNumber.Text.Trim();
       string dropDowlistYear = DropDownListYears.SelectedValue;
       string dropDowlistMonth = DropDownListMonth.SelectedValue;
       DataRow[] drCardNumber = dt.Select("CardNumber='" + TextBoxCardNumber.Text.ToString().Trim() + "'");
       DataRow[] drNameOnCard = dt.Select("NameOnCard='" + TextBoxNameOnCard.Text.ToString() + "'");
       DataRow[] drValidFrom = dt.Select("MyDate='" + dropDowlistYear + "/" + dropDowlistMonth + "'");
       //DataRow[] ExpiresEnd = dt.Select("ExpYear='" + dropDowlistMonth1 + "'");
       if (drCardNumber.Length > 0 && drNameOnCard.Length > 0 && drValidFrom.Length > 0)
       {
           Response.Redirect("Default.aspx");
       }
       else
       {
           LabelMessage.Text = "The Card name or Card Number are invalid.";
           LabelMessage.ForeColor = Color.Red;
           return;
       }



and this the code inside my class:

public DataSet GetCreditCard()
    {
        return SqlHelper.ExecuteDataset(SqlHelper.GetConnection(), "[getCreditCard]");
    }



As u can see I want to get it from Datatable.
Can someone help!

解决方案

Change the else part of your stored procedure from

SELECT * FROM [dbo].[CardBank]

To

SELECT CardNumber,NameOnCard,ExpiresEnd As MyDate FROM [dbo].[CardBank]


这篇关于找不到列[MyDate]。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆