小编Sea*_*ean的帖子

无法解析符号'Void'

在班上(我正在接管其他人的项目),我有以下内容:

using Java.Util;
using Object = Java.Lang.Object;
using Void = Java.Lang.Void;
Run Code Online (Sandbox Code Playgroud)

Void,显示为红色,带有" 无法解析符号'Void' ",无法看到我可能遗漏的内容.

我已经检查了PC的来源(并且应用程序确实构建在那个上)并安装了相同的(是的,我看到的,更新的,但专门安装了"相同"的项目)Java项目:

  • Java 7 Update 45
  • Java 6 Update 31
  • Java SE开发工具包6更新31

这没有任何改变.

我检查了项目的'References'分支,一切都显示相同(事实上,我无法在任何地方看到对Java的具体引用)

任何帮助将不胜感激.

请理解我不打算更改代码; 只是为了得到代码(按原样)编译没有错误.

[更新]

当我输入Java.Lang.intellisense不会在下拉列表中显示Void

[进一步更新]

该项目与平板电脑的开发有关; 我没有安装一些开发软件 - 安装它们已经解决了这个问题,我只能假设Java命名空间被隐藏在软件中.虽然回复中没有具体的答案,但大多数评论肯定有助于引导我朝着正确的方向前进.

c# xamarin.android

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

SQL MOVE记录到另一个表

我有许多函数可以将记录从一个表移动到另一个表(通常用于存档数据的形式),并且想知道是否存在执行此操作的"最佳实践",或者是一种比我目前使用的更有效的方法.

目前,我正在运行如下:

INSERT INTO archive_table
SELECT [ROWID], [COL1], [COL2]
FROM live_table
WHERE <criteria>

DELETE FROM live_table
WHERE [ROWID] IN
(
   SELECT [ROWID] FROM archive_table
)
Run Code Online (Sandbox Code Playgroud)

这也在SQL性能软件上发出警告,该查询可能导致索引抑制和性能下降; 由于执行了SCAN,而不是SEEK.

值得补充的是,archive_table是live_table的精确副本,除了我们已经从[ROWID]列中删除了标识和主键,并且该表未在"实时"环境中使用,除了具有插入旧数据,如上所述.

[编辑]

似乎亚历克斯的答案为此提供了一个非常简单的解决方案; 关于使用触发器的注释在此实例中无法解决问题,因为事件发生在几天之后,并且标准取决于该期间内的事件.

DELETE 
FROM live_table 
OUTPUT DELETED.* INTO archive_table
WHERE <criteria>
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2008

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

保护本地 SQLite 数据库(Android 应用程序)

我们有一个 Android 应用程序,它将其数据存储在本地 SQLite 数据库中;主要是为了性能,但也为了允许离线工作(因为我们经常处于信号弱的区域)。

目前,数据以加密格式存储(从我们的网络服务器传递下来),但这本身会导致性能问题,例如,如果我们想要搜索特定“姓氏”的记录,我们需要解密所有数据,而不是使用直接的 SQL 查询,包括where surname='Smith'

我们无法(就目前而言)以更友好的“开放格式”存储数据,因为可以“root”设备、获取 MySQL 数据库的副本、打开它并读取数据。

有没有办法(也许有人可以提供一个例子)来密码保护本地 SQLite 数据库或以某种方式应用加密,以便我们可以(从应用程序的角度)以开放格式提供数据库,但如果有的话-黑客掌握了设备并对其进行了root...他们将很难读取我们的数据?

我已经搜索了合适的解决方案,但找不到 SQLite 数据库的任何选项、任何第三方软件或任何执行此操作的代码示例。

sqlite security android xamarin.android

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

底层连接已关闭:发生意外错误

我有一个非常简单的服务,它调用URL并捕获由该服务写出的状态;

// Service call used to determine availability
System.Net.WebClient client = new System.Net.WebClient();

// I need this one (sorry, cannot disclose the actual URL)
Console.WriteLine(client.DownloadString(myServiceURL + ";ping"));

// I added this for test purposes
Console.WriteLine(client.DownloadString("https://www.google.com"));
Run Code Online (Sandbox Code Playgroud)

myServiceURL行的"DownloadString"引发错误"底层连接已关闭:发生了意外错误",Fiddler中没有显示此行,而google.com的"DownloadString"工作正常,我看到控制台输出.

根据错误的其他建议,我尝试了设置UseDefaultCredentials,编码选项,为请求添加适当的标头的组合,这些都没有任何区别.

client.UseDefaultCredentials = true;
client.Encoding = Encoding.UTF8;
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中导航到myServiceURL时,它正常工作,并按预期显示"OK".

来自同一服务的另一种方法编码如下:

// Request
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(myServiceURL + ";login");

// Set the request configuration options
req.Method = "POST";
req.ContentType = "text/xml";
req.ContentLength = bytes.Length;
req.Timeout = -1;

// Call for the request stream
using (Stream os …
Run Code Online (Sandbox Code Playgroud)

c# web-services webclient webrequest

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

使用一个List <>从另一个List <>中删除条目

我有两个列表,有一个共同的元素

List<myObject> myObj (contains ID, name, other stuff)
1, Dave, stuff
2, Albert, stuff
10, James, stuff
15, Rita, stuff

List<int> myID (contains ID)
2,
10
Run Code Online (Sandbox Code Playgroud)

我需要做的是删除myObj中的任何条目,其中myObj.ID位于myID.ID中

(请记住,对于真正的代码,两个列表都要长得多)

c# list

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

转换类和设置公共值

我们有一系列类,它们来自一个公共类:

public class OurBaseClass
{
    public string StatusMessage { get; set;}
    [other properties]
}

public class ProcessClass : OurBaseClass
{
    public string SomeProcessInformation { get; set;}
    public string SomeMoreProcessInformation { get; set;}
    [other properties]
}
Run Code Online (Sandbox Code Playgroud)

然后我们尝试创建一个函数来设置SpecificProcessClass和current的基本属性(这不起作用):

public object DefaultResponse(string messageText)
{
    return new OurBaseClass
    {
        StatusMessage = messageText,
        [other properties] = ...
    }
};
Run Code Online (Sandbox Code Playgroud)

我们的意图是

ProcessClass resp = (ProcessClass) DefaultResponse("Some Message");
resp.SomeProcessInformation  = "";
resp.SomeMoreProcessInformation  = "";
[other properties] = ...
return resp;
Run Code Online (Sandbox Code Playgroud)

理由是,最大限度地减少重复编码的数量,使功能易于阅读(通过眼睛); 这会引发以下错误.

System.InvalidCastException: Unable to cast object …
Run Code Online (Sandbox Code Playgroud)

c# class type-conversion

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

SQL"记录是否存在"

如果你想执行代码,只有当某一行存在时,检查存在的正确方法是什么?以前,我使用了不同的方法,对整体性能的关注度很低......并且想知道替代方法之间是否存在显着差异?

IF EXISTS (SELECT * FROM MYTABLE WHERE...)

IF (SELECT COUNT(*) FROM MYTABLE WHERE...) > 0
Run Code Online (Sandbox Code Playgroud)

有比上面更好的方法吗?

也许有人可以提供推荐的方法,为什么这种方法比其他方法更好?

sql

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