小编apa*_*cay的帖子

如何编写最佳SQL查询

我搜索了stackoverflow,但每个人都要求优化他们已经完成的查询.

我想知道,关于做什么的基本内容,创建查询时要避免的内容.

例如,一个已知的事实是,写入SELECT * FROM是一件要避免的事情,因为sql引擎必须进行"不可见"查询以了解应该显示哪些列.

也知道between @min_number AND @max_number工作比Id >= @min_number AND Id <= @max_number我好,但我不记得为什么.这可能是因为两者之间是由引擎控制在较低级别的句子,并且创建迭代以显示以某种方式"处理"的reg.但我只是不确定.

有人可以验证这些并列出最常见的做法,避免什么?

sql

17
推荐指数
3
解决办法
9089
查看次数

IIS 7上的500.19,无法在本地登录

我不知道sholud在哪里问这个...

我已经看到了这个问题,我认为答案应该接近我,但似乎我不能这样做.

有趣的事情(我认为)是由我在一年前左右在IIS 7的另一台服务器上完成的,没有进一步的麻烦.也许我不记得这么多.我有一个在端口80上运行的Apache服务器(无法更改)

这就是我所做的:

集成的AppPool是我放置的其他服务器上的一个问题所以我试图改变它

  • 默认AppPool到经典.Net
  • WebApp池到经典.Net

用户在Web服务上也是强制性的,所以我放置了一个服务帐户来冒充任何可能访问的匿名(或非)用户,因此我有

  • ServiceAccount作为wwwroot和子文件夹的管理员
  • 默认情况下,默认网站中的ServiceAccount模拟为模拟
  • ServiceAccount在我需要的每个Web应用程序中都是模拟的
  • 使用ServiceAccount共享r/w文件夹

  • 我已经测试了访问权限,授权和身份验证工作都非常棒.
  • 我已经多次重启应用程序,网站和IIS而没有成功.
  • 检查事件日志,但没有找到任何有用的东西.
  • 修改后的applicationHost.config比解决方案陷入更多麻烦.

当我尝试在IIS7上看到应用程序设置时,这就是我得到的

- - - - - - - - - - - - - - 应用程序设置 - - - - - - - - - - - ------

执行此操作时出错.

细节:

文件名:\?\ C:\ Windows\system32\inetsrv\config\applicationHost.config

行号:165

错误:无法在本地登录到%SystemDrive%\ inetpub\wwwroot作为用户MyDOMAIN\MyUser使用虚拟目录密码

- - - - - - - - - - - - - - 好 - - - - - - …

asp.net iis-7

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

提交拒绝访问时SVN错误:'foobar'MKACTIVITY MYREPO:

我目前正在使用ActiveDirectory身份验证与Apache和SVN合作.用户正在使用TortoiseSVN客户端.

我应该指出,我有2个具有相同名称和不同映射的存储库,但重定向到相同的"用户URL",因为两个存储库的权限相同.

例如'http:// mysrvr/svn/foo/bar/corge'和'http:// mysrvr/svn/foo/corge'

或'http:// mysrvr/svn/foo/bar/corge和''http:// mysrvr/svn/foo/grault/corge'

这个2回购的东西被复制了8个"回购对",其余7个工作正常.

这是我的错误:

提交失败(详情如下):

访问'/ svn/myDir/MYREPO /!svn/act/65bf494c-a66a-4f45-870e-d988f691a45d'禁止

完了!

这不是权限,因为用户foob​​ar具有rw访问权限并且他已成功检出存储库.提交时会发生此错误.

有助于确定精确解决方案的事情:

  • 其他回购配对做得很好.权限是一样的.
  • 我的svn管理员用户可以在与提交的有问题的用户相同的本地PC上进行操作.
  • UPPERCASE /小写URL不是问题,我已经检查过了
  • NTLM和Active Directory也不是问题,因为他可以使用相同的权限文件访问其他repo.
  • 同一个回购的其他用户正在试验同样的问题.虽然我仍然可以在他们的本地PC上进行提交.(就像他们没有书面许可一样)

以下是Apache日志:

Apache error.log

[dd mm 12:38:02 2011] [错误] [客户10.xxx]拒绝访问:'foobar'MKACTIVITY MYREPO:

[dd mm 12:39:40 2011] [错误] [客户10.xxx]拒绝访问:'foobar'MKACTIVITY MYREPO:

[dd mm 12:39:54 2011] [错误] [客户10.xxx]拒绝访问:'foobar'MKACTIVITY MYREPO:

Apache access.log

10.xxx - foobar [dd/mmm/yy:12:38:02 GMT]"OPTIONS/svn/myDir/MYREPO HTTP/1.1"200 198

10.xxx - foobar [dd/mmm/yy:12:38:02 GMT]"PROPFIND/svn/myDir/MYREPO HTTP/1.1"207 667

10.xxx - foobar [dd/mmm/yy:12:38:02 GMT]"MKACTIVITY/svn/myDir/MYREPO /!svn/act/65bf494c-a66a-4f45-870e-d988f691a45d HTTP/1.1"403 266

svn_activity.log

[dd/mmm/yy:12:34:20 -0300] waldo犯r2

[dd/mmm/yy:12:39:07 -0300] …

svn apache tortoisesvn commit

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

如何在异常时关闭DataReader

我的数据层的一些方法中有以下代码:

StringBuilder sb = new StringBuilder();
SqlCommand s = new SqlCommand(sb.ToString(), conn);
try 
{ 
    SqlDataReader dr = s.ExecuteReader(); 
    while(dr.Read())
      DoSomething(dr);
}
catch (Exception ex)
{ 
    sb.Append(Util.ExceptionRecursive(ex)); 
}
Run Code Online (Sandbox Code Playgroud)

事情是,博士永远不会在例外的情况下关闭.当其他方法试图访问另一个数据读取器时,它会抛出另一个异常,例如"另一个数据扩展器连接到数据库"

我想在任何情况下关闭我的DataReader.但是这个:

sb = new StringBuilder();
SqlCommand s = new SqlCommand(sb.ToString(), conn);
SqlDataReader dr;
try 
{
    dr = s.ExecuteReader(); 
    while(dr.Read())
      DoSomething(dr);
}
catch (Exception ex)
{ 
    sb.Append(Util.ExceptionRecursive(ex)); 
}
finally
{
    dr.Close();
}
Run Code Online (Sandbox Code Playgroud)

不会工作,因为如果异常dr可能没有数据,并且不会编译.

那我该怎么办?

c# .net-1.1 sqlcommand sqldatareader

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

C#将类类型作为参数传递

这适用于C#? 将类类型作为参数传递

我有一个实现接口的类适配器.我想用MyFooClass实例填充数组结构,其中MyFooClass的名称或引用我想从外部接收它.我将在我的适配器代码中实例化它们.

例如:

    public void FillWsvcStructs(DataSet ds, ClassType Baz)
    {
        IFoo.Request = ds.DataTable[0].Request;
        IFoo.Modulebq = string.Empty;
        IFoo.Clasific = string.Empty;
        IFoo.Asignadoa = ds.DataTable[0].Referer;
        IFoo.Solicita = "Jean Paul Goitier";


        // Go with sub-Elems (Also "Interfaceated")
        foreach (DataSet.DataTableRow ar in ds.DataTable[1])
        {
            if ((int) ar.StatusOT != (int)Props.StatusOT.NotOT)
            {
                ///From HERE!
                IElemRequest req = new (Baz)(); // I don't know how to do it here
                ///To HERE!

                req.Id = string.Empty;
                req.Type = string.Empty;
                req.Num = string.Empty;
                req.Message = string.Empty;
                req.Trkorr = ar[1];
                TRequest.Add(req); …
Run Code Online (Sandbox Code Playgroud)

c# oop interface

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

如何使用未指定数量的参数构建一个方法C#

这是我的代码:

    private static string AddURISlash(string remotePath)
    {
        if (remotePath.LastIndexOf("/") != remotePath.Length - 1)
        {
            remotePath += "/";
        }
        return remotePath;
    }
Run Code Online (Sandbox Code Playgroud)

但我需要类似的东西

AddURISlash("http://foo", "bar", "baz/", "qux", "etc/");
Run Code Online (Sandbox Code Playgroud)

如果我没记错的话,string.format就是那样......

String.Format("{0}.{1}.{2}.{3} at {4}", 255, 255, 255, 0, "4 p.m.");
Run Code Online (Sandbox Code Playgroud)

C#中有什么东西允许我这样做吗?

我知道我能做到

private static string AddURISlash(string[] remotePath)
Run Code Online (Sandbox Code Playgroud)

但那不是主意.

如果这是某些框架中的某些内容可以完成而在其他框架中没有请指定以及如何解决它.

提前致谢

c# parameters

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

方法:使用一个参数和单个字符串params string []

这来自另一个问题:( 如何使用未指定数量的参数来构建一个方法C#).但由于这是一个不同的问题,我不得不在这里问

假设您有一个方法重载(编译器允许此重载):

private static string AddURISlash(params string[] remotePaths) //multiple strings
private static string AddURISlash(string remotePaths) //single string
Run Code Online (Sandbox Code Playgroud)

当只收到一个参数时,您应该如何知道将执行哪些操作?

有会议吗?或者你需要测试一次的东西?我是否必须假设,因为要执行单个字符串方法的唯一方法是接收单个字符串,那就是明确执行的字符串

谢谢

c# compiler-construction

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

如何在Visual C#2008 Express中切换调试/发布

在Visual C#Express 2010中看到如何在调试和发布之间切换?,但这并没有给我一个如何在Visual C#2008 Express中做到这一点的线索,因为没有这样的"专家设置".

@@编辑:快递版,我的朋友.

表达

@Edit:没有"Build Menu"

没有构建菜单

@Edit:这是我的"选项菜单"

这是我的选项菜单

@Edit:最后但并非最不重要的是,这是我的解决方案属性窗口.您还可以看到Debug/Release Combo已禁用.

这是我的解决方案属性窗口

c# configuration visual-studio-2008

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

甲骨文说缺少,拼写错误或错放了FROM

我正在测试我与Oracle的第一次联系.连接本身似乎有效.然而...

从my_core.my_table中选择TOP 1 ID

是我用的句子

并且

retVal = cmd1.ExecuteScalar().ToString();

抛出

ORA-00923:未找到FROM关键字

   in Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode,
OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src
, String procedure, Boolean bCheck)
   in Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, Oracle
Connection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx
, Object src, Boolean bCheck)
   in Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Bool
ean fillRequest, CommandBehavior behavior)
   in Oracle.DataAccess.Client.OracleCommand.ExecuteReader()
   in Oracle.DataAccess.Client.OracleCommand.ExecuteScalar()
   in thiscs.Main() en C:\app\testuser\product\11.2.0\my\sample\thiscs.cs:line 44
Run Code Online (Sandbox Code Playgroud)

这是代码:

// C#

using System;
using Oracle.DataAccess.Client;
using System.Data;
using System.Data.Common;
using System.Transactions;

class thiscs
{
  static void Main() …
Run Code Online (Sandbox Code Playgroud)

c# odp.net oracle11g

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

如何声明和处理C#1.1中的动态列表

我有一个名为CatalogItem的自定义类,我在一个方法中收到它作为一个数组参数.

基于这些元素的一个属性,必须组装该方法返回的矩阵.

public CatalogItem[][] ReorderCatalogItems(CatalogItem[] items)
Run Code Online (Sandbox Code Playgroud)

属性

public string Id
public string Version
public bool HasVersion
public bool HasDependencies
public string Name
public string DisplayName
public bool IsExportable
public string CatalogName
public string ZipName
Run Code Online (Sandbox Code Playgroud)

但Visual Studio 2003不是2005年,2008年或2010年.自从我最后一次在这个框架(1.1)中编码以来已经有一段时间了.

我有这个,因为List和泛型不存在

StringBuilder zipNames = new StringBuilder();

foreach(CatalogItem item in items)
{
    if(item.ZipName != string.Empty && zipNames.ToString().IndexOf(item.ZipName) == -1)
    {
        zipNames.Append(item.ZipName);
        zipNames.Append("\r\n");
        //StringBuilder.AppendLine(string) is unexistent in fwk 1.1
    }
}

//SplitString is a custom method that does a string.Split with a string …
Run Code Online (Sandbox Code Playgroud)

c# .net-1.1 visual-studio-2003

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

过程或函数需要未提供的参数'@id'

我错过了什么?

private void GetGeneralData(ReportPackage myPackage)
{
  using (SqlConnection conn = new SqlConnection(mySqlConn))
  {
    using (SqlCommand cmd = new SqlCommand("[dbo].[GetStuff]", conn))
    {
      cmd.Parameters.AddWithValue("@id", myPackage.IdDeliverable);

      conn.Open();
      using (SqlDataReader dr = cmd.ExecuteReader())
      {
        dr.Read();
        myPackage.DeployServer = dr.GetString(0);
        myPackage.Connection = dr.GetString(1);
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

过程或函数'GetStuff'需要参数'@id',这是未提供的.

c# sql

-2
推荐指数
1
解决办法
3009
查看次数