所以我一直在寻找为我的组合框设置一个默认值.我发现了一些东西但它们似乎都没有用.
实际上,如果我创建一个简单的组合框并使用它,comboBox1.SelectedIndex = comboBox1.Items.IndexOf("something")但是一旦我动态生成组合框的内容,它就无法工作了.
这是我填充我的组合框(位于类的构造函数中);
string command = "SELECT category_id, name FROM CATEGORY ORDER BY name";
List<string[]> list = database.Select(command, false);
cbxCategory.Items.Clear();
foreach (string[] result in list)
{
cbxCategory.Items.Add(new ComboBoxItem(result[1], result[0]));
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法让它设置默认值,就像我放在cbxCategory.SelectedIndex = cbxCategory.Items.IndexOf("New")上面的代码下面,它将无法正常工作.
顺便说一句,WinForms.
先感谢您.
首先,这是一个教育问题 - 我不是在生产应用程序中实现的,因为我正在学习C#的基础知识.
目前我有一个包含2个(实际上是3个,但一个是单元测试)项目的解决方案;
在类库中,我有一个名为的类Database.cs,它与MySQL数据库通信.我不直接与这个Database.cs类通信,但是类库中的其他类(例如Products.cs).虽然,我需要凭据连接到这个MySQL数据库,我不知道哪种方式可以安全地进行.
将其存储在类库中/对类中的凭据进行硬编码.
这对我来说没有意义,因为用户可以轻松地获取DLL并且他在技术上获得了数据库的凭据.
将凭证通过表单传递给类(如Products.cs),该类在初始化Database对象时传递它
可以工作,尝试,它的工作原理,但我不确定这是否是"最好的"方法.
编写一个包含带凭据的属性的静态类
同样,如果我在类库中创建这个静态类,我几乎和我的第一个例子不同.如果我要在其中创建这个静态类Form,我需要从我的类库中添加对Form-project的引用(不是我希望它的方式).
我试着查找东西,但我显然做得不对.有没有其他方法可以做到这一点?
我一直在环顾四周,但没找到我需要的东西.基本上,我有一些只有DefaultController的小模块和一些带有多个控制器的大模块.我对小模块的规则工作正常,但大模块的规则不会.这是我的规则:
'<module:\w+>/<action:\w+>' => '<module>/default/<action>',
'<module:\w+>/<action:\w+>/<id:\d+>' => '<module>/default/<action>',
'<module:\w+>/<controller:\w+>' => '<module>/<controller>/index',
'<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>'
Run Code Online (Sandbox Code Playgroud)
前两个规则工作正常,允许我访问:
http://host/news/create和路由到news/default/create.
最后两个应该做到以下几点:
http://host/posts/category它应该途径posts/category/index
和
http://host/posts/category/create其应路线posts/category/create
可悲的是,它们似乎不起作用.有什么建议?
是否可以比较两个cryptDocs -ed字符串并查看它们是否匹配?
用户登录时,会创建一个会话,存储用户的ID及其对应的crypt密码哈希值.在后台,检查一直在运行,以查看会话(读取,密码)是否仍然有效.
所以从技术上讲,我想比较crypt数据库中的-ed密码和会话中的加密密码.这可能吗?
编辑:
应该说我使用以下方法来加密密码;
function better_crypt($input, $rounds = 7)
{
$salt = "";
$salt_chars = array_merge(range('A','Z'), range('a','z'), range(0,9));
for($i=0; $i < 22; $i++) {
$salt .= $salt_chars[array_rand($salt_chars)];
}
return crypt($input, sprintf('$2a$%02d$', $rounds) . $salt);
}
Run Code Online (Sandbox Code Playgroud) 我试图以编程方式在SQL CE数据库中创建一个表.目前,我使用以下查询 - 虽然我收到错误;
string command = @"CREATE TABLE CONNECTION(" +
"connection_id INTEGER IDENTITY(1,1) PRIMARY KEY, " +
"host NVARCHAR(255), port INT, key NVARCHAR(50), " +
"last_used NVARCHAR(15));";
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
解析查询时出错.[令牌行号= 1,令牌行偏移= 104,令牌错误=键]
我似乎无法弄清楚我做错了什么.我习惯MySQL,查询略有不同.
我想要实现以下目标:我有两张桌子.调用其中一个表,调用characters另一个表experience.现在我想打印一个所有列表characters并将最新一行链接experience到它.应该仍然显示添加到characters没有行的行中experience.
这是表和所需输出的示例.
characters
id | name |
----------------|
1 | TestChar |
2 | NewChar |
3 | OldChar |
experience
id | char_id | experience |
------------------------------|
1 | 1 | 683185858 |
2 | 2 | 85712849 |
3 | 1 | 687293919 |
4 | 1 | 794812393 |
output
name | experience |
---------------------------|
TestChar | 794812393 |
NewChar | 85712849 |
OldChar | …Run Code Online (Sandbox Code Playgroud) 这是一个简单的游戏,我正在尝试学习如何在现有项目中应用C++(这就是我学习的最佳方式),我有使用C#和其他高级语言编程的经验,所以这对我来说还是很新的.所以我有这个比赛列表:
const char* Races[] = {
"Demon",
"Human",
"Elf",
"Orc",
"Aliens"
};
Run Code Online (Sandbox Code Playgroud)
有一次,我收到了用户的注册,并选择了比赛.我将用户的所有信息保存到结构中,我也希望将比赛的全名保存到此结构中.
struct User_t {
unsigned int RaceID;
char Race[16];
};
Run Code Online (Sandbox Code Playgroud)
以下代码是我将结构中的值放入的代码:
User_t User;
User.RaceID = 3;
strcpy(User.Race, Races[User.RaceID]);
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.这是游戏的一部分,异常处理非常糟糕(它基本上会在没有任何错误可见的情况下崩溃游戏).我想弄清楚我做错了什么.有什么建议,也许是对其他事情的建议吗?