问题列表 - 第42351页

通用List.Join

我有一个对象

public class Title
    {
        public int Id {get; set; }
        public string Title {get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

如何用" - "加入所有标题List<Title>

c#-4.0

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

比较不同Hashmaps的键

假设我在Java中有2个Map.我想将map1的键与map2的键进行比较,以查看2张地图中是否有任何类似的键.

我怎样才能做到这一点?

java

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

getElementsByTagName只获得顶级标签?

我有这个真正令人讨厌的问题.

总之,如果我使用,我会得到一个未找到的元素 (document.getElementsByTagName("p"))[0]

如果p标签在div这里面

<div id="main">
<p>see</p>
</div>
Run Code Online (Sandbox Code Playgroud)

但是一旦我删除了div包装器,所有的东西都能正常工作.

30分钟后,我把问题简化为这个简单的代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>ttttttttttttttttttttt</title>
</head>
<body>

<div id="main">
<p>see</p>
</div>

<script type="text/javascript">
var myobj = document.createElement("div");
myobj.innerHTML='yesyes';

document.body.insertBefore(myobj, (document.getElementsByTagName("p"))[0] );
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

把上面放在一个文件中.在Firefox或Chrome或IE8中打开.如果成功,你应该看到"是的".如果你删除<div id="main">包装,那么它的工作原理.

似乎有些东西我不理解getElementsByTagName

javascript

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

上传文件的最佳位置

处理一些导入过程,我需要先在服务器上的某个位置上传文件,然后我需要从这个位置选择文件将其导入系统.我只是想知道什么是存储上传文件的最佳位置.我没什么选择

1)可以在tomcat的根目录中创建一个文件夹,然后将上传文件放在那里,稍后可以为导入过程选择文件.

File dir = new File(System.getProperty("catalina.base"), "uploads");
Run Code Online (Sandbox Code Playgroud)

这是一个很好的选择,天气上面的代码将在所有环境中同样有效

2)我可以在我的应用程序下创建一个uploads文件夹,可以访问它进行文件上传,然后使用以下代码进行导入

ServletActionContext.getServletContext().getRealPath("uploads");
Run Code Online (Sandbox Code Playgroud)

你需要提出宝贵的建议,我需要做的唯一工作就是上传文件并运行上传文件的导入过程,一旦导入成功,就可以将文件从这个文件夹中删除到其他类似处理过的文件等.

java tomcat servlets

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

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

从varchar到numeric的SQL Server CAST失败并出现错误

我有一列包含9位数字值的数据,但该列被定义为varchar.我需要将字段CAST为数值,这样我就可以将列的总和除以100

select CAST(field1 as numeric(9,2)) / 100 from table;
Run Code Online (Sandbox Code Playgroud)

运行查询时出现以下错误:将varchar转换为数据类型numeric的算术溢出错误.

如果我从varchar - > int - > numeric执行双CAST,则CAST可以正常工作.例如

select CAST(CAST(field1 as int) as numeric(9,2)) / 100 from table;
Run Code Online (Sandbox Code Playgroud)

有没有理由为什么来自varchar的单个CAST - > numeric会导致SQL错误,但双CAST是否有效?

sql-server casting

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

左连接始终包含空记录

我使用的Oracle 11gR2,我试着写两个表中返回地址数据的查询,CUSTOMERSLOCATIONS.给定客户可能(或可能不)具有不同的位置,每个位置具有其自己的地址.

我想为每位客户及其所有位置返回地址.例如,如果表包含如下数据:

顾客
CUSTOMER_ID地址
    1"纽约"
    2"加州"

地点 CUSTOMER_ID LOCATION_ID地址 1 1"新泽西"

然后我希望结果看起来像:

CUSTOMER_ID LOCATION_ID地址
   1"纽约"
   1 1"新泽西"
   2"加州"

我的第一个想法是这样的:

SELECT 
 CUSTOMERS.CUSTOMER_ID,
 LOCATIONS.LOCATION_ID,
 NVL(LOCATIONS.ADDRESS,CUSTOMERS.ADDRESS) ADDRESS
FROM
CUSTOMERS
 LEFT JOIN
LOCATIONS ON (CUSTOMERS.CUSTOMER_ID=LOCATIONS.CUSTOMER_ID)
Run Code Online (Sandbox Code Playgroud)

问题在于,当客户确实有位置时,它不返回具有位值数据的空值的行,因此我没有得到CUSTOMERS表中包含地址的行.它给了我这样的东西:

CUSTOMER_ID LOCATION_ID地址
   1 1"新泽西"
   2"加州"

它错过了New York地址customer 1.我试过这个......

SELECT 
 CUSTOMERS.CUSTOMER_ID,
 LOCATIONS.LOCATION_ID,
 NVL(LOCATIONS.ADDRESS,CUSTOMERS.ADDRESS) ADDRESS
FROM
CUSTOMERS
 LEFT JOIN
LOCATIONS ON (CUSTOMERS.CUSTOMER_ID=LOCATIONS.CUSTOMER_ID OR LOCATIONS.CUSTOMER_ID IS NULL)
Run Code Online (Sandbox Code Playgroud)

但它给了我与第一个查询相同的结果.有没有办法返回第二个表的空记录,即使连接条件匹配?

sql oracle null join left-join

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

MVC 3压缩过滤器导致输出乱码

所以,我有一个名为CompressAttribute的自定义属性,它在global.asax中设置为全局过滤器.它使用反射来检查当前操作方法的返回类型,如果它是"ViewResult",它使用GZip或Deflate压缩输出.它工作得很好,除非页面抛出500服务器错误.如果遇到错误,而不是显示.NET错误页面,我得到一堆:

`我%/米{JJT

显然它正在尝试编码导致问题的500 Server Error页面.处理这个问题的最佳方法是什么?

这是过滤器代码:

public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            MethodInfo actionMethodInfo = Common.GetActionMethodInfo(filterContext);
            if (GetReturnType(actionMethodInfo).ToLower() != "viewresult") return;

            HttpRequestBase request = filterContext.HttpContext.Request;

            string acceptEncoding = request.Headers["Accept-Encoding"];

            if (string.IsNullOrEmpty(acceptEncoding)) return;

            acceptEncoding = acceptEncoding.ToUpperInvariant();

            HttpResponseBase response = filterContext.HttpContext.Response;

            if (acceptEncoding.Contains("GZIP"))
            {
                response.AppendHeader("Content-encoding", "gzip");
                response.Filter = new WebCompressionStream(response.Filter, CompressionType.GZip);
            }
            else if (acceptEncoding.Contains("DEFLATE"))
            {
                response.AppendHeader("Content-encoding", "deflate");
                response.Filter = new WebCompressionStream(response.Filter, CompressionType.Deflate);
            }
        }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc action-filter

17
推荐指数
2
解决办法
2842
查看次数

确定用于访问我的网站的浏览器

有人能告诉我如何确定(使用JavaScript等)浏览器用于访问我的网站吗?

我想根据这些场景重定向到不同的页面:

  • 用户在iPhone上使用Safari浏览器.
  • 在桌面上使用IE浏览器
  • 在WP7移动设备上使用IE.

谢谢.

javascript

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

VB6 - WinHttpRequest Timouts问题

我在VB6中使用WebRequest并且我将超时设置为"5000"(5秒),但即使在5秒后它也没有超时,任何帮助都表示赞赏.

x:
Dim objWinHTTP
Set objWinHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")


    objWinHTTP.Open "POST", "http://twitter.com/" & TwitterUSERNAME
    objWinHTTP.SetTimeouts 5000, 5000, 5000, 5000


    Call objWinHTTP.Send(psData)
    MsgBox (objWinHTTP.Status)
    If objWinHTTP.Status <> 200 Then
    Timer.Enabled = False
    MsgBox ("D:")
    GoTo x
    End If
Run Code Online (Sandbox Code Playgroud)

vb6 timeout webrequest

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