这是在烦我。一些非常简单的东西,它不起作用。我可能做错了什么?如何使用C#从SQL Server获取电子邮件
这里是我使用的代码...
string strSQL = "SELECT ac.ContactEmail AS fldEmail FROM vwApprenticeshipContactDetails ac WHERE (ac.ApprenticeshipID = @ApprenticeshipID)";
SqlCommand cmd2 = new SqlCommand(strSQL, cnn);
cmd2.Parameters.Add("@ApprenticeshipID", SqlDbType.Int).Value = wsAppID;
Object fldEmail = cmd2.ExecuteScalar();
不管你信不信,上述回报率看起来像一个数组,当我调试,并期待在“fldEmail”的值。换句话说,它是空的,没有任何东西或空值(不能告诉输出窗口显示数组)。我已经直接在SQL服务器上运行了,并且我的电子邮件显示正常。数据库字段中的'@'字符是否会导致某些内容?
我期待的电子邮件是'[email protected]',这对我来说看起来很好。
UPDATE
我更换了ContactEmail场以上,从数据库中另一列名和它回来的罚款。不知道为什么电子邮件是一个问题。这里的数据类型是VARCHAR(50)
。
UPDATE
在调试模式下,我注意到它返回system.DBNull
数据类型(和更深的挖掘,它返回空),但是为什么呢?我用SQL服务器中的正确参数运行完全相同的查询,并收到一封电子邮件。奇怪的
谢谢
提示!在执行之前调试cmd2并查看CommandText的值。尝试在数据库中运行该查询字符串。 – voddy
@voddy没有什么不寻常的。显示的SQL与上面相同。 – Fandango68
雅怪。尝试选择*并查看电子邮件地址是否返回。 – voddy