小编pap*_*zzo的帖子

TSQL for XML EXPLICIT

无法获得所需的XML输出

下列:

  SELECT  1 as Tag,
          0 as Parent,
          sID       as [Document!1!sID], 
          docID     as [Document!1!docID],
          null      as [To!2!value]
  FROM docSVsys with (nolock)
  where docSVsys.sID = '57'
  UNION ALL 
  SELECT 2 as Tag,
         1 as Parent,
         sID,
         NULL,
         value         
  FROM   docMVtext
  WHERE  docMVtext.sID = '57'
  ORDER BY [Document!1!sID],[To!2!value]
  FOR XML EXPLICIT;
Run Code Online (Sandbox Code Playgroud)

生产:

    <Document sID="57" docID="3.818919.C41P3UKK00BRICLAY0AR1ET2EBPYSU4SA">
      <To value="Frank Ermis" />
      <To value="Keith Holst" />
      <To value="Mike Grigsby" />
    </Document>
Run Code Online (Sandbox Code Playgroud)

我想要的是:

    <Document sID="57">
      <docID>3.818919.C41P3UKK00BRICLAY0AR1ET2EBPYSU4SA</docID>
      <To>
        <Value>Frank Ermis</Value>
        <Value>Keith Holst</Value>
        <Value>Mike Grigsby</Value>
      </To>
    </Document> …
Run Code Online (Sandbox Code Playgroud)

xml t-sql sql-server sqlxml sql-server-2008

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

使用LINQ从数据库中查找附近的位置

我们希望在ASP.NET 2012中使用LINQ从数据库接收附近地点的列表,并希望对我们的策略有一些反馈.


我的表和假数据:

     PlaceId    Name       Latitude   Longitude 
       1          A          18.1        20.1
       2          B          18.2        20.2
       3          C          18.3        20.3
Run Code Online (Sandbox Code Playgroud)

1)在我们的项目中,客户端当前位置(纬度和经度)被视为输入

2)在服务器端,根据客户端的当前位置,我们需要使用LINQ从数据库中查找附近的位置

这是我之前使用的SQL代码,但现在我们想使用LINQ.

SELECT  name, Latitude, Longitude , 
  ( 3959 * acos( cos( radians(?) )* cos( radians( Latitude) ) * cos( radians( Longitude ) - radians(?) ) 
 + sin( radians(?) ) * sin( radians( Latitude) ) ) ) AS distance 
FROM TABLE_NAME 
HAVING distance < ? 
ORDER BY distance LIMIT 0 , 20
Run Code Online (Sandbox Code Playgroud)

[但问题是如何在LINQ中编写这样的查询.]

我的工作:

在搜索解决方案时,我遇到了这段代码

        var Value1 = 57.2957795130823D;
        var …
Run Code Online (Sandbox Code Playgroud)

.net linq asp.net c#-4.0 sql-to-linq-conversion

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

按钮的默认背景颜色

想要匹配按钮的默认背景颜色以在Expander中使用.
按钮的默认背景颜色是什么?

我到底尝试了什么?
很多不同的颜色,但没有找到匹配.

.net wpf button

5
推荐指数
2
解决办法
9615
查看次数

事件处理程序无效

MainWindow构造函数中,我正在注册一个事件处理程序:

public partial class MainWindow : Window, INotifyPropertyChanged
{
    public MainWindow()
    {
        InitializeComponent();
        pageViewDocText = new PageViewDocText();
        framePageDocFieldDetail.Content = pageViewDocText;
        pageViewDocText.NewPageIRPRO += new GabeLib.SearchCls.DocEventHandler(ViewIPRO);
    }

    protected void ViewIPRO(string IRPOlink) // ...
}

public partial class PageViewDocText : Page, INotifyPropertyChanged
{
    public event GabeLib.SearchCls.DocEventHandler NewPageIRPRO;

    private void btn_PageBreakNext(object sender, RoutedEventArgs e)
    {
        // this fires but NewPageIRPRO is null
        if (NewPageIRPRO != null)
        {
            NewPageIRPRO("dummylink");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,在PageViewDocText,NewPageIRPRO是null

我究竟做错了什么?
PageViewDocText,我想打电话MainWindow.ViewIPRO. …

.net c# wpf event-handling

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

数据表转CSV

这个问题与解析 CSV 无关。

使用以下代码从 DataTable 创建 CSV
但它很慢
100 行乘 14 列是 4 秒
有更快的方法吗?

StringBuilder sb = new StringBuilder();
bool first = true;
int colCount = 0;
foreach (DataColumn dc in DT.Columns)
{
    if (first) first = false; else sb.Append(",");
    sb.Append("\"" + dc.ColumnName +  "\"");
    colCount++;
}
sb.AppendLine();
foreach (DataRow dr in DT.Rows)
{  
    first = true;
    for (int i = 0; i < colCount; i++)
    {
        if (first) first = false; else sb.Append(",");
        sb.Append("\"" + dr[i].ToString().Trim() + "\""); …
Run Code Online (Sandbox Code Playgroud)

.net csv datatable

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

LINQ自定义排序

我想要一个字母排序,但有一个例外.
有一个名为"公共"的组和一个我想要的ID ="0"的组.
(宁可使用ID = 0)
然后按名称对其余部分进行排序.
这不会首先返回公众.

public IEnumerable<GroupAuthority> GroupAuthoritysSorted 
{ 
   get 
   { 
       return GroupAuthoritys.OrderBy(x => x.Group.Name); 
   } 
}
Run Code Online (Sandbox Code Playgroud)

我想要的是:

return GroupAuthoritys.Where(x => x.ID == 0)
       UNION 
       GroupAuthoritys.Where(x => x.ID > 0).OrderBy(x => x.Group.Name);
Run Code Online (Sandbox Code Playgroud)

GroupAuthority具有公共属性Group和Group具有公共属性ID和名称.

我基本上使用了接受的答案

using System.ComponentModel;

namespace SortCustom
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            TestSort();
        }
        private void TestSort()
        {
            List<CustomSort> LCS = new List<CustomSort>();
            LCS.Add(new CustomSort(5, "sss"));
            LCS.Add(new CustomSort(6, "xxx"));
            LCS.Add(new CustomSort(4, "xxx"));
            LCS.Add(new CustomSort(3, "aaa"));
            LCS.Add(new CustomSort(7, "bbb"));
            LCS.Add(new …
Run Code Online (Sandbox Code Playgroud)

c# linq sorting

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

Mysql 限制偏移不起作用

这是我的查询,我用它来分页

SELECT DISTINCT email_list.*, email_counter.phone as e_phone,email_counter.email as e_email,email_counter.marketing as e_marketing   
FROM Data_TLS_builders as email_list 
LEFT JOIN wp_pato_email_list_counters as email_counter on email_counter.email_id = email_list.URN    
LIMIT 120 OFFSET 150
Run Code Online (Sandbox Code Playgroud)

mysql 不是从 120 开始到 150 结束(应该显示 30 个结果),而是返回 120 个结果并忽略 OFFSET。我试过了LIMIT 120,150还是一样?

知道如何解决吗?

mysql

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

将两个Int32组合到Int64中

使字典<Int64,byte>得到了很多使用.我的意思是在大数据负载中运行数天的循环.Int64来自两个Int32.该字节恰好是来自许多很长列表的那两个Int32之间的距离(计数).

我在这个循环中需要做的是

  • 生成密钥
  • 如果词典中不存在键,则插入键和值
  • 如果key确实存在且新值(byte)小于现有值,则将现有值替换为新值

现在我使用直接数学来生成密钥,我知道有更快的方法,但我无法弄明白.我把shift作为标签,因为我认为这是如何优化它,但我无法弄明白.

然后当循环完成时,我需要从Int64中提取两个Int32以将数据插入到数据库中.

谢谢

每个注释我使用的数学将两个Int32组合成一个Int64

        Int64 BigInt;
        Debug.WriteLine(Int32.MaxValue);
        Int32 IntA = 0;
        Int32 IntB = 1;
        BigInt = ((Int64)IntA * Int32.MaxValue) + IntB;
        Debug.WriteLine(BigInt.ToString());
        IntA = 1;
        IntB = 0;
        BigInt = ((Int64)IntA * Int32.MaxValue) + IntB;
        Debug.WriteLine(BigInt.ToString());
        IntA = 1;
        IntB = 1;
        BigInt = ((Int64)IntA * Int32.MaxValue) + IntB;
        Debug.WriteLine(BigInt.ToString());
Run Code Online (Sandbox Code Playgroud)

最好的密钥可能不是Int64.我所拥有的是两个Int32,它们共同形成一个键.和一个字节的值.我需要快速查找该复合键.字典很快但它不支持复合键,因此我创建了一个实际上是复合键的单个键.在SQL Int32A中,Int32B形成PK.

我不使用复合键的原因是我希望字典的查找速度和我的知识字典不支持复合键.这是生产代码.在SQL表中实际上有第三个键(Int32 sID,Int32 IntA,Int32 IntB).在这个解析器中,我一次只处理一个sID(并按顺序处理sID).我开始使用SQL的复合键查找(运行中数十亿).当我拉出IntA时,IntB输出到Dictionary以处理单个sID,然后在每个sID完成时加载到SQL我获得了100:1的性能提升.部分性能改进是插入,因为当我从字典插入时我可以按PK顺序插入.新的IntA和IntB不是按解析方式生成的,因此直接插入SQL会严重破坏索引,我需要在运行结束时重建索引.

.net shift int64

3
推荐指数
2
解决办法
4618
查看次数

WinRT System.Data - 连接到SQL

只是想确保我没有遗漏一些东西.似乎没有WinRT System.Data.我正在寻找的是System.Data.SqlClient连接到SQL.Metro App可以连接到SQL吗?如果是,Metro应用程序可以以App Store兼容的方式连接到SQL.

sql-server system.data windows-runtime

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

使用SetValue添加事件处理程序

这段代码有效

TextBlock tbTest = new TextBlock();
tbTest.MouseRightButtonDown += new MouseButtonEventHandler(cc_CopyToClip);
Run Code Online (Sandbox Code Playgroud)

但我需要用SetValue做同样的事情
这不起作用 - 编译错误

FrameworkElementFactory textblock = new FrameworkElementFactory(typeof(TextBlock));
textblock.SetValue(TextBlock.MouseRightButtonDownEvent, += new MouseButtonEventHandler(cc_CopyToClip));
Run Code Online (Sandbox Code Playgroud)

如何通过SetValue分配事件处理程序?

回答

textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip));
Run Code Online (Sandbox Code Playgroud)

.net wpf event-handling setvalue

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