我搜索了stackoverflow,但每个人都要求优化他们已经完成的查询.
我想知道,关于做什么的基本内容,创建查询时要避免的内容.
例如,一个已知的事实是,写入SELECT * FROM是一件要避免的事情,因为sql引擎必须进行"不可见"查询以了解应该显示哪些列.
也知道between @min_number AND @max_number工作比Id >= @min_number AND Id <= @max_number我好,但我不记得为什么.这可能是因为两者之间是由引擎控制在较低级别的句子,并且创建迭代以显示以某种方式"处理"的reg.但我只是不确定.
有人可以验证这些并列出最常见的做法,避免什么?
我不知道sholud在哪里问这个...
我已经看到了这个问题,我认为答案应该接近我,但似乎我不能这样做.
有趣的事情(我认为)是由我在一年前左右在IIS 7的另一台服务器上完成的,没有进一步的麻烦.也许我不记得这么多.我有一个在端口80上运行的Apache服务器(无法更改)
集成的AppPool是我放置的其他服务器上的一个问题所以我试图改变它
用户在Web服务上也是强制性的,所以我放置了一个服务帐户来冒充任何可能访问的匿名(或非)用户,因此我有
也
- - - - - - - - - - - - - - 应用程序设置 - - - - - - - - - - - ------
执行此操作时出错.
细节:
文件名:\?\ C:\ Windows\system32\inetsrv\config\applicationHost.config
行号:165
错误:无法在本地登录到%SystemDrive%\ inetpub\wwwroot作为用户MyDOMAIN\MyUser使用虚拟目录密码
- - - - - - - - - - - - - - 好 - - - - - - …
我目前正在使用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'禁止
完了!
这不是权限,因为用户foobar具有rw访问权限并且他已成功检出存储库.提交时会发生此错误.
有助于确定精确解决方案的事情:
以下是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] …
我的数据层的一些方法中有以下代码:
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#? 将类类型作为参数传递
我有一个实现接口的类适配器.我想用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) 这是我的代码:
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#).但由于这是一个不同的问题,我不得不在这里问
假设您有一个方法重载(编译器允许此重载):
private static string AddURISlash(params string[] remotePaths) //multiple strings
private static string AddURISlash(string remotePaths) //single string
Run Code Online (Sandbox Code Playgroud)
当只收到一个参数时,您应该如何知道将执行哪些操作?
有会议吗?或者你需要测试一次的东西?我是否必须假设,因为要执行单个字符串方法的唯一方法是接收单个字符串,那就是明确执行的字符串?
谢谢
我在Visual C#Express 2010中看到如何在调试和发布之间切换?,但这并没有给我一个如何在Visual C#2008 Express中做到这一点的线索,因为没有这样的"专家设置".
@@编辑:快递版,我的朋友.

@Edit:没有"Build Menu"

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

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

我正在测试我与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) 我有一个名为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) 我错过了什么?
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# ×8
.net-1.1 ×2
sql ×2
apache ×1
asp.net ×1
commit ×1
iis-7 ×1
interface ×1
odp.net ×1
oop ×1
oracle11g ×1
parameters ×1
sqlcommand ×1
svn ×1
tortoisesvn ×1