C# C查询具有getdate()列的表时WebMatrix格式错误

C# C查询具有getdate()列的表时WebMatrix格式错误,c#,webmatrix,C#,Webmatrix,当有人在我的网站上搜索时,会在tbl_搜索表中创建一条记录。数据库通过使用getdate作为数据绑定来决定时间戳是什么 我正在尝试从该表中获取所有数据: 错误是:输入字符串的格式不正确 但是,VS中的“帮助”窗口有一个疑难解答提示: 将字符串转换为DateTime时,在将每个变量放入DateTime对象之前,先解析字符串以获取日期 如果我将表更改为一个没有getdate数据绑定的表,它就会工作。 当我在SQLManagementStudio上运行相同的查询时,它就会工作。 我将查询放在一个存储过

当有人在我的网站上搜索时,会在tbl_搜索表中创建一条记录。数据库通过使用getdate作为数据绑定来决定时间戳是什么

我正在尝试从该表中获取所有数据:

错误是:输入字符串的格式不正确

但是,VS中的“帮助”窗口有一个疑难解答提示:

将字符串转换为DateTime时,在将每个变量放入DateTime对象之前,先解析字符串以获取日期

如果我将表更改为一个没有getdate数据绑定的表,它就会工作。 当我在SQLManagementStudio上运行相同的查询时,它就会工作。 我将查询放在一个存储过程中,结果是一样的:在SQL mgmt studio中工作,但不在网站上工作。 我做了大量的研究,但为了简洁起见,我决定不展示它,特别是因为我在写问题的最后偶然发现了答案。

查询中的星号*导致了错误。 我用短语、时间戳替换了它,它成功了:

@{
  WebMartix.Data.Database DB = WebMatrix.Data.Database.Open(MyConString)
  var data = DB.Query("SELECT phrase, timestamp FROM tbl_search");
  foreach (var d in data){
    @d.phrase
  }
}

当我通过反复试验找到解决方案时,我已经研究这个问题一段时间了。我在网上找不到有关此WebMatrix的文档。。。也许吧?所以我还是决定发帖子,希望下一个人可以更容易地找到答案,也许有更专业的人可以解释为什么星号在查询中不起作用,但只有在表中有一个getdate生成列时才起作用。

您肯定可以使用SELECT*所以问题在于数据库中的某种方式。既然您已经解决了这个问题,我就不会要求您提供一些数据库定义。
@{
  WebMartix.Data.Database DB = WebMatrix.Data.Database.Open(MyConString)
  var data = DB.Query("SELECT phrase, timestamp FROM tbl_search");
  foreach (var d in data){
    @d.phrase
  }
}