自动完成不适用于 SQL Server CE 密码保护的数据库
Auto complete doesn't work with SQL Server CE password protected database
当我将密码添加到我的 SQL Server Compact Edition 3.5 数据库时,文本框的自动完成功能停止工作(尽管我可以使用应用程序正常连接到数据库。即连接正常正确)。
所有设置和我一样,只是在连接字符串中添加了密码。
工作自动完成:
SqlCeConnection sqlcon = new SqlCeConnection(@"Data Source = TranslationTest.sdf");
SqlCeCommand sqlcmd;
SqlCeDataReader sqldr;
AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();
private void Form1_Load(object sender, EventArgs e)
{
try {
sqlcon.Open();
sqlcmd = new SqlCeCommand("SELECT EnglishWord,ArabicWord FROM T1", sqlcon);
sqldr = sqlcmd.ExecuteReader();
AutoCompleteStringCollection mycollection = new AutoCompleteStringCollection();
while (sqldr.Read())
{
mycollection.Add(sqldr.GetString(0));
}
textBox1.AutoCompleteCustomSource = mycollection;
sqlcon.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
不工作(使用密码):
SqlCeConnection sqlcon = new SqlCeConnection(@"Data Source = TranslationTest.sdf;Password=778899;");
SqlCeCommand sqlcmd;
SqlCeDataReader sqldr;
AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();
private void Form1_Load(object sender, EventArgs e)
{
try {
sqlcon.Open();
sqlcmd = new SqlCeCommand("SELECT EnglishWord,ArabicWord FROM T1", sqlcon);
sqldr = sqlcmd.ExecuteReader();
AutoCompleteStringCollection mycollection = new AutoCompleteStringCollection();
while (sqldr.Read())
{
mycollection.Add(sqldr.GetString(0));
}
textBox1.AutoCompleteCustomSource = mycollection;
sqlcon.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
额外内容:
- 多行 = false
- 自动完成模式 = suggest(试过 Suggest & append ..同样的问题)
- 用VS2010添加的密码http://i.imgur.com/2dSNtDo.jpg
我被引入了一些代码本身的冲突,最后我发现我在数据库中有冲突 "DATASET" 每次我尝试添加或修改时自动添加到项目中数据库搞砸了。
现在我刚刚删除了所有内容并使用受密码保护的数据库重新开始并且它运行正常(我的意思是自动完成功能)。
希望这对以后可能遇到同样问题的人有所帮助
当我将密码添加到我的 SQL Server Compact Edition 3.5 数据库时,文本框的自动完成功能停止工作(尽管我可以使用应用程序正常连接到数据库。即连接正常正确)。
所有设置和我一样,只是在连接字符串中添加了密码。
工作自动完成:
SqlCeConnection sqlcon = new SqlCeConnection(@"Data Source = TranslationTest.sdf");
SqlCeCommand sqlcmd;
SqlCeDataReader sqldr;
AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();
private void Form1_Load(object sender, EventArgs e)
{
try {
sqlcon.Open();
sqlcmd = new SqlCeCommand("SELECT EnglishWord,ArabicWord FROM T1", sqlcon);
sqldr = sqlcmd.ExecuteReader();
AutoCompleteStringCollection mycollection = new AutoCompleteStringCollection();
while (sqldr.Read())
{
mycollection.Add(sqldr.GetString(0));
}
textBox1.AutoCompleteCustomSource = mycollection;
sqlcon.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
不工作(使用密码):
SqlCeConnection sqlcon = new SqlCeConnection(@"Data Source = TranslationTest.sdf;Password=778899;");
SqlCeCommand sqlcmd;
SqlCeDataReader sqldr;
AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();
private void Form1_Load(object sender, EventArgs e)
{
try {
sqlcon.Open();
sqlcmd = new SqlCeCommand("SELECT EnglishWord,ArabicWord FROM T1", sqlcon);
sqldr = sqlcmd.ExecuteReader();
AutoCompleteStringCollection mycollection = new AutoCompleteStringCollection();
while (sqldr.Read())
{
mycollection.Add(sqldr.GetString(0));
}
textBox1.AutoCompleteCustomSource = mycollection;
sqlcon.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
额外内容:
- 多行 = false
- 自动完成模式 = suggest(试过 Suggest & append ..同样的问题)
- 用VS2010添加的密码http://i.imgur.com/2dSNtDo.jpg
我被引入了一些代码本身的冲突,最后我发现我在数据库中有冲突 "DATASET" 每次我尝试添加或修改时自动添加到项目中数据库搞砸了。
现在我刚刚删除了所有内容并使用受密码保护的数据库重新开始并且它运行正常(我的意思是自动完成功能)。
希望这对以后可能遇到同样问题的人有所帮助