小编Ram*_*nas的帖子

条件运算符"?:"和函数头中的LPCTSTR

也许任何人都可以向我解释一下:

bool Func1(LPCTSTR sData)
{
    if (sData) { ... }
}
Run Code Online (Sandbox Code Playgroud)

我把这个函数称为:

CString str = _T("");
Func1((str.IsEmpty() ? NULL : str));
Run Code Online (Sandbox Code Playgroud)

并且函数内部的'sData'永远不会为NULL,它总是空字符串而不是NULL,为什么?Eddited代码是这样的:

LPCTSTR strNull = NULL;
Func1((str.IsEmpty() ? strNull : str));
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它的工作正确.

c++ mfc atl

8
推荐指数
2
解决办法
163
查看次数

.Net MySql 错误“字典中不存在给定的键”

尝试从表中获取简单计数会导致异常波纹管。尝试了不同的选择语句,这也有例外:“ SELECT * FROM goods”,但是“ SELECT col1, col2 FROM goods” - 无一例外。我究竟做错了什么?从工作台这些选择作品。

字典中不存在给定的键。System.Collections.Generic.KeyNotFoundException:字典中不存在给定的键。在 System.Collections.Generic.Dictionary`2.get_Item(TKey key) 在 MySql.Data.MySqlClient.MySqlField.SetFieldEncoding() 在 MySql.Data.MySqlClient.NativeDriver.GetColumnData(MySqlField field)
在 MySql.Data.MySqlClient.NativeDriver .GetColumnsData(MySqlField[] 列) 在 MySql.Data.MySqlClient.Driver.GetColumns(Int32 count)
在 MySql.Data.MySqlClient.ResultSet.LoadColumns(Int32 numCols) 在 MySql.Data.MySqlClient.ResultSet..ctor(Driver d, Int32 statementId, Int32 numCols) 在 MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) 在 MySql.Data.MySqlClient.MySqlDataReader.NextResult() 在 MySql.Data.MySqlClient.MySqlDataReader.Close() 在 MySql.Data.MySqlClient.MySqlCommand.ResetReader() 在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior)行为)在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
在 MySqlSybaseComparer.DbTester.Test(String& error) in c:\MySqlSybaseComparer\DbTester.cs:line 68

代码片段:

using (MySqlConnection conn = new MySqlConnection(ConStrMySql))
{
    try
    {
        conn.Open();
        using (MySqlCommand cmd = new MySqlCommand("SELECT count(*) FROM goods", conn)) …
Run Code Online (Sandbox Code Playgroud)

.net c# mysql

5
推荐指数
3
解决办法
2万
查看次数

标签 统计

.net ×1

atl ×1

c# ×1

c++ ×1

mfc ×1

mysql ×1