小编Ste*_*eve的帖子

SQL查询多列仅在一列上使用不同

我试图编写一个SQL查询,从一个表中选择多个列,只在一列上使用distinct运算符.

桌子很简单.列是:

tblFruit_ID, tblFruit_FruitType, tblFruit_FruitName
int          NVarChar            Text
Run Code Online (Sandbox Code Playgroud)

我试图选择所有tblFruit_FruitType及其对应的tblFruit_ID.

我试过了:

Select Distinct(tblFruit_FruitType), tblFruit_ID FROM tblFruit
Run Code Online (Sandbox Code Playgroud)

- 回报所有结果,而不仅仅是截然不同

Select tblFruit_FruitType, tblFruit_ID FROM tblFruit Group By tblFruit_FruitType
Run Code Online (Sandbox Code Playgroud)

列tblFruit_ID的错误在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中.

Select tblFruit_FruitType, tblFruit_ID FROM tblFruit Group By tblFruit_FruitType, tblFruit_ID
Run Code Online (Sandbox Code Playgroud)

- 回报所有结果,而不仅仅是截然不同

我也检查了这些类似的帖子,无法得到任何工作:(

mySQL选择一列DISTINCT,以及相应的其他列

SQL Server Distinct Union用于一列

希望这是一个足够的信息来回答.

感谢您的时间!

编辑(样本数据和期望结果)

tblFruit_ID, tblFruit_FruitType, tblFruit_FruitName
int          NVarChar            Text
1            Citrus              Orange
2            Citrus              Lime
3            Citrus              Lemon
4            Seed                Cherry
5            Seed                Banana
Run Code Online (Sandbox Code Playgroud)

结果:

1            Citrus
4            Seed
Run Code Online (Sandbox Code Playgroud)

sql-server select

21
推荐指数
2
解决办法
8万
查看次数

使用SqlConnection.GetSchema仅获取表(无视图)

我用的时候

SqlConnection.GetSchema("Tables");
Run Code Online (Sandbox Code Playgroud)

它返回目标数据库的所有表和视图.

有没有办法只返回表?我所做的所有研究表明我正确地做了这一点,但它总是返回视图,就像它们是表格一样.我在调试中挖掘了DataTable,我甚至找不到区别.报告的数据类型相同......据我所知,它无法区分视图和表.(它在某种程度上是有意义的,因为所有意图和目的的视图都是一个表.)

我正在使用Northwind数据库进行测试.

我在C#中编写应用程序.

这是我运行以获取架构信息的代码.很简单.

SQLCon.Open();
DataTable tables = SQLCon.GetSchema("Tables");
SQLCon.Close();
Run Code Online (Sandbox Code Playgroud)

我非常想使用getschema方法而不必以另一种方式查询数据库......如果可能的话.

c# sql-server ado.net views sqlconnection

4
推荐指数
2
解决办法
1万
查看次数

使WCF服务接受jQuery.AJAX()的JSON数据

我一直在寻找几个小时,并尝试各种不同的方法来使其正常工作。我已经尝试了很多关于stackoverflow的文章,或者我太愚蠢而无法正常工作,或者我有一些独特而奇怪的配置,这使我无法体验到快乐。

我创建了本教程概述的WCF服务:

http://www.codeproject.com/Articles/97204/Implementing-a-Basic-Hello-World-WCF-Service

它是超基本的,只有一种方法,我只想让我使用json使用jQuery.AJAX()来使用它。

我将其托管在IIS中,并且可以正常工作。我可以毫无问题地访问WSDL。

我尝试使用以下代码来使用它:

$.ajax({
    dataType: 'json',
    type: 'POST',
    contentType: "application/json",
    url: "//localhost:546/HelloWorldService.svc/GetMessage",
    data: {
        name: "Joe"
    }
    }).done(function(msg){
        console.log(msg);
        $("#result").append(msg);
});
Run Code Online (Sandbox Code Playgroud)

我总是会出错。根据我的尝试,我得到500错误,402错误,关于不正确内容的错误...所有错误。

我尝试了以下文章中的解决方案。它们的范围从让我更改web.config端点(我知道我必须更改它们,但到目前为止我在添加JSON端点方面没有尝试过任何工作)到添加类似

[WebInvoke(Method = "POST", UriTemplate = "json/PostSalesOrderData", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
Run Code Online (Sandbox Code Playgroud)

到界面。

以下是我看过的一些文章,并尝试将它们分解成我的解决方案以使它无法成功运行。

Phonegap Android上的Javascript JSON和WCF Web服务

HTTP / 1.1 415无法处理消息,因为内容类型为'application / json; charset = utf-8'不是预期的类型'text / xml;charset = utf-8'

具有JSON,JSONP和SOAP端点的WCF服务

两个端点(soap,json)和一个服务方法

WCF REST服务在.Net 4中不接受JSON

我还仔细阅读了本教程,并尝试使用他所说的使我的解决方案生效。依然没有!

http://www.primordialcode.com/blog/post/passing-json-serialized-objects-wcf-service-jquery

这是我界面的外观

[ServiceContract]
public interface IHelloWorldService
{
    [OperationContract]
    [WebInvoke(UriTemplate = "GetMessage", Method = "POST", …
Run Code Online (Sandbox Code Playgroud)

c# wcf jquery json endpoint

4
推荐指数
1
解决办法
1万
查看次数

为什么从结构中传出指针需要额外的解引用?

我正在使用C中的双链表,我发现了一些我意识到我总是被接受为事实或曾经知道答案并且现在已经忘记的东西.当我再次开始使用指针时,这经常发生在我身上,每次我都不得不重新学习它们.

以下是我的设置基础知识:

int main(void)
{
    video *head = NULL;
    video *tail = NULL;

    char *buffer = NULL;
    buffer = (char*)malloc(sizeof(MAX_TITLE_LENGTH));

    printf("Enter a title: ");
    fgets(buffer, MAX_TITLE_LENGTH, stdin);

    insert(buffer, &head, &tail);
}
Run Code Online (Sandbox Code Playgroud)

我有一个结构:

typedef struct video
{
    char title[MAX_TITLE_LENGTH];
    struct video *prev;
    struct video *next;
}video;
Run Code Online (Sandbox Code Playgroud)

插入原型:

int insert (char *title, video **head, video **tail);
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我必须专门传递视频*的地址.

我知道传递char的方式,它传递字符串开头的内存地址.为什么我必须再次引用头部和尾部来访问它们的值?

老实说,这比我想象的要简单得多,我很确定,而且我的大脑处于一个考虑指针的坏点.

有人可以把它放松吗?

谢谢.

c struct pointers function dereference

1
推荐指数
1
解决办法
274
查看次数

如何在C#T-SQL查询字符串中使用%修饰符?

我试图在C#中编写一个基本查询,其中包括使用'%'修饰符.

这是我的查询:

SELECT userName 
FROM tblUserInformation 
WHERE userName LIKE %@userNameQuery%
Run Code Online (Sandbox Code Playgroud)

当我运行时,我得到一个SQL异常说

@userNameQuery附近有语法错误.

我之前遇到过与SQL查询和C#sql查询字符串类似的差异,但我不确定如何解决这个问题.我试过了:

SELECT userID 
FROM tblUserInformation 
WHERE userName LIKE '%'@userNameQuery'%'
Run Code Online (Sandbox Code Playgroud)

下面的一个不会抛出异常但不返回任何结果.它应该是因为我可以直接对数据库运行相同的查询,并返回许多结果.

SELECT userName 
FROM tblUserInformation 
WHERE userName LIKE '%@userNameQuery%'
Run Code Online (Sandbox Code Playgroud)

我这样做了吗?

此外,@userNameQuery正确填写SqlParameter并且是正确的数据类型等.尝试过上面和第二个工作(返回没有结果)我确信我的查询字符串中没有语法错误(额外的分号或缺少") .

感谢您的时间!

c# sql-server modifier

0
推荐指数
1
解决办法
339
查看次数