我刚刚开始做示例应用程序,只调用我的sqlite数据库上的一些表,我已设法解决发生在我身上的其他问题,除了这个!虽然我搜索了关于连接字符串和权限问题的建议解决方案,并且所有似乎对我的许可似乎无效,我添加了所有用户完全控制并仍然相同的错误.下面是我试图执行的代码:
// calling function
void getrecords2()
{
MySqlLite.DataClass ss = new MySqlLite.DataClass();
DataTable dt = ss.selectQuery("select * from english_words");
}
//the SQLite class that execute the code
using System.Data;
using System.Data.SQLite;
namespace MySqlLite
{
class DataClass
{
private SQLiteConnection sqlite;
public DataClass()
{
//This part killed me in the beginning. I was specifying "DataSource"
//instead of "Data Source"
sqlite = new SQLiteConnection(@"Data Source=C:\testwork\db\MrPick.sqlite3.db;Version=3;FailIfMissing=True");
}
public DataTable selectQuery(string query)
{
SQLiteDataAdapter ad;
DataTable dt = new DataTable();
try
{
SQLiteCommand cmd; …Run Code Online (Sandbox Code Playgroud) 所以在我的应用程序中,我有一个带有嵌入式导航控件的弹出控件.在导航堆栈的不同部分,我希望弹出窗口是不同的颜色,具体取决于用户的位置.奇怪的是有时候设置popover背景颜色使得这个看起来很糟糕的盒子,有时它不会.它看起来像这样:

这是我想要的外观:

似乎如果我在显示弹出窗口之前更改背景颜色,它似乎正常工作并转换,但如果我在显示之前没有设置弹出窗口颜色,则在显示它具有框效果后更改它.我还注意到其他似乎随机发生的情况,但我无法解释导致它的原因(我的真实应用程序比这个演示要复杂得多).这是相关代码:
- (IBAction)buttonPressed:(id)sender {
UIViewController *vc = [[UIViewController alloc] init];
UIButton *b = [[UIButton alloc] init];
[b addTarget:self action:@selector(innerButtonPressed) forControlEvents:UIControlEventTouchUpInside];
[b setTitle:@"Button" forState:UIControlStateNormal];
[b setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
[b setFrame:CGRectMake(0,0,100,100)];
[vc.view addSubview:b];
_innerNav = [[UINavigationController alloc] initWithRootViewController:vc];
_popOver = [[UIPopoverController alloc] initWithContentViewController:_innerNav];
//If this line is here, everything works fine
_popOver.backgroundColor = [UIColor yellowColor];
[_popOver presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
//If this line is here (and the above line is commented out), the transition will look wrong
//_popOver.backgroundColor = [UIColor yellowColor]; …Run Code Online (Sandbox Code Playgroud) 我有一些约束,在动画制作过程中会随机播放。升级到XCode9之后,我尝试进行一些调整,并且编辑器似乎不再允许我向约束集合IBOutlet添加约束。我什至创建了一个新项目,并尝试制作一个简单的插座集合,并遇到了同样的问题。这是我正在谈论的简短视频:
我已经尝试了删除派生数据,重新启动xcode,创建新的xib,向xcode上帝祈祷...等通常的事情。正如您在gif中看到的那样,它甚至发生在一个全新项目中。有人看到吗?我缺少任何解决方法吗?
我认为这是一个合法的错误,我已将其提交给了Apple。
我很惊讶我没有看到其他人遇到这个问题。
我在c#中有以下LINQ查询
var stats = from s in context.Stats
select s;
Expression<Func<Stat, bool>> e1 = s => s.Age >= 15 && s.Age < 25;
Expression<Func<Stat, bool>> e2 = s => s.Age >= 40 && s.Age < 50;
stats = stats.Where(e1);
Run Code Online (Sandbox Code Playgroud)
此代码有效,并为我提供了Stats表中的行,其中Age介于15和25之间.
现在,我想得到15到25和40到50之间的行.
如何组合这两个表达式?
谢谢
我正在整理一个小小的演示来采用模拟的长时间运行方法,Thread.Sleep()并希望添加异步以轻松地从同步过程转到异步过程.这是初始代码:
private void button1_Click(object sender, EventArgs e)
{
LongProcess();
}
private void LongProcess()
{
for (int i = 0; i < 33; i++)
{
progressBar1.Value += 3;
Thread.Sleep(1000);
}
progressBar1.Value += 1;
}
Run Code Online (Sandbox Code Playgroud)
我以为我可以简单地Thread.Sleep(1000)改成a new Task(()=>Thread.Sleep(1000)),就像这样:
private void button1_Click(object sender, EventArgs e)
{
LongProcess();
}
private async void LongProcess()
{
for (int i = 0; i < 33; i++)
{
progressBar1.Value += 3;
await new Task(()=>Thread.Sleep(1000));
}
progressBar1.Value += 1;
}
Run Code Online (Sandbox Code Playgroud)
然而,在第一次等待之后,这永远不会返回到循环.如果我将Thread.Sleep更改为Task.Delay一切正常,但我不明白为什么我的代码不起作用.我认为某些东西会永远被阻挡,但它并没有多大意义.任何人都可以解释我的代码如何工作,以及一个可能的解决方案,而无需更改为Task.Delay(只是这样我可以得到另一个视角,如何工作)?
有更简单的方法吗?我只想要6年内至少有2个充电代码的家庭 - (cy =当前年份=去年等)?
Exists (SELECT * FROM ac_ViewMultiHouseholdChargeCodeYearCode AS VMH
WHERE
aa_Households.HouseholdID = VMH.HouseholdiD and
VMH.ChargeCode = 'Dinner' and
(VMH.ChargeCount_CY > 0 and
(VMH.ChargeCount_LY > 0 or
VMH.ChargeCount_2Y > 0 or
VMH.ChargeCount_3Y > 0 or
VMH.ChargeCount_4Y > 0 or
VMH.ChargeCount_5Y > 0)) or
(VMH.ChargeCount_LY > 0 and
(VMH.ChargeCount_CY > 0 or
VMH.ChargeCount_2Y > 0 or
VMH.ChargeCount_3Y > 0 or
VMH.ChargeCount_4Y > 0 or
VMH.ChargeCount_5Y > 0)) or
(VMH.ChargeCount_2Y > 0 and
(VMH.ChargeCount_LY > 0 or
VMH.ChargeCount_CY > 0 or …Run Code Online (Sandbox Code Playgroud) 我似乎对我的结果集有一些问题,我给它们命名不同,但它们似乎都有相同的数据,但我无法弄明白为什么.
String query = "SELECT * FROM blog_comments;";
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int colNum = rsmd.getColumnCount();
boolean more = rs.next();
String query2 = "SELECT * FROM blog_entries;";
ResultSet rs2 = stmt.executeQuery(query2);
ResultSetMetaData rsmd2 = rs2.getMetaData();
int colNum2 = rsmd2.getColumnCount();
boolean more2 = rs2.next();
Run Code Online (Sandbox Code Playgroud)
我看过调试,他们都有相同的列,但我不认为他们应该有任何建议.
Hy,我有一个带有10000个索引的int [] x,并且我使用这样的代码将每个值放在文本框中的换行符中,但是我的代码将至少需要几个minuts来填充文本框,是否有更快捷的方式做同样的事情?
for ( int x = 0; X < 10000; x++)
{
textBox1.Text += randomNumber[x] + Environment.NewLine;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个协议,包含使用UIImagePickerController的过程,使其在我的应用程序中更流线型.我基本上有这样的事情:
public protocol MediaAccessor : UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func mediaCaptured(title: String, fileData: NSData, fileType: String)
}
Run Code Online (Sandbox Code Playgroud)
和一个扩展,它完成了请求权限和处理委托方法的所有繁重工作:
public extension MediaAccessor where Self : UIViewController {
public func captureMedia() {
//All sorts of checks for picker authorization
let picker = UIImagePickerController()
picker.delegate = self
self.presentViewController(picker, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {
//implementation of the delegate in extension
//even though everything compiles, this method is not called on picker completion
}
} …Run Code Online (Sandbox Code Playgroud) 所以我一直生活在黑暗的时代,遍历我的数据并找到我感兴趣的老式方式,但这个项目我认为我应该让事情更优雅,并使用LINQ,我知道它可以使用,但事情并没有完全点击.
所以我有两个简单的ObservableCollections,我想从其中一个中提取所有匹配当前所选项目的数据.对象非常简单......
public class foo
{
//....
public string barID{ get; set; }
//....
}
public class bar
{
public string ID { get; set; }
//....
}
Run Code Online (Sandbox Code Playgroud)
所以在我的代码中我有选择的foo,我想要创建一个具有匹配barID的所有条的集合...
ObservableCollection<bar> bars =
from data in fooCollection
where data.barID == barCollection.SelectedItem.ID
select data;
Run Code Online (Sandbox Code Playgroud)
所以我根据我在网上找到的LINQ的语法尝试了这个,但是这会抛出一个无法隐式地将IEnumerable强制转换为ObservableCollection的编译错误.所以我试过......
ObservableCollection<bar> bars =
(ObservableCollection<bar>)
(from data in fooCollection
where data.barID == barCollection.SelectedItem.ID
select data);
Run Code Online (Sandbox Code Playgroud)
哪个编译但会抛出运行时错误...
Unable to cast object of type
'WhereEnumerableIterator`1[TestProj.bar]' to type
'System.Collections.ObjectModel.ObservableCollection`1[TestProj.bar]'.
Run Code Online (Sandbox Code Playgroud)
所以我确信我可以在事后投射对象或做其他事情,但我一直在寻找尽可能优雅的解决方案,所以有点帮助将这个简单的LINQ语句放在一起将不胜感激.此外,对幕后发生的事情的简单解释将极大地帮助我理解一些LINQ基础知识.
c# ×5
ios ×2
linq ×2
sql ×2
asynchronous ×1
c#-4.0 ×1
expression ×1
iboutlet ×1
ios7 ×1
java ×1
objective-c ×1
resultset ×1
sqlite ×1
swift ×1
thread-sleep ×1
uipopover ×1
wpf ×1
xcode ×1
xcode9 ×1