C# (围绕值等)进行测试

C# (围绕值等)进行测试,c#,csv,C#,Csv,考虑现有方法 您可能希望使用更合适的方法,而不是直接与null进行比较,例如或基于您的首选项/需求的方法: if (!String.IsNullOrEmpty(password)) { System.Windows.Forms.MessageBox.Show("Setting Password to User ID"); } 使用参数化而不是字符串连接 您的现有代码目前使您容易受到SQL注入攻击,因为您只是串联值来构建查询,如下所示: "... SELECT WHERE USERID=

考虑现有方法

您可能希望使用更合适的方法,而不是直接与null进行比较,例如或基于您的首选项/需求的方法:

if (!String.IsNullOrEmpty(password))
{
    System.Windows.Forms.MessageBox.Show("Setting Password to User ID");
}
使用参数化而不是字符串连接

您的现有代码目前使您容易受到SQL注入攻击,因为您只是串联值来构建查询,如下所示:

"... SELECT WHERE USERID='" + userid + "')" + Environment.NewLine;

您应该考虑的是使用查询中的参数,然后在执行之前设置这些参数的值:

"... SELECT WHERE USERID= @userid)" + Environment.NewLine;

这不仅可以更好地保护您免受SQL注入的不良影响,还可以使您的查询更易于阅读,并减少出现与排版相关的语法错误的可能性(例如,值周围缺少引号等)

password=密码??用户标识?这可能只是个人偏好,但就个人而言,我会尝试将
outfile+=“…+全名+“…”+环境。换行符
outfile+=$”..{fullname}中的userid={id}减少为类似
outfile+=“…{fullname}”\n
,用
\n
替换
环境。换行符
密码=密码??用户ID;
?这可能只是个人偏好,但我个人会尝试将
outfile+=“…+全名+“…”+环境。换行符
行为类似
outfile+=$”。。。{fullname}其中userid={id}\n
,用
\n
替换
环境。换行符
是检查字符串的最佳方法+1除非用户的密码确实是
:-P@David啊,这是一个复杂的世界。我们可以回到IsNullOrEmpty吗?
IsNullOrWhiteSpace()
是检查字符串的最佳方法+1除非用户的密码确实是
:-P@David啊,这是一个复杂的世界。我们可以回到IsNullOrEmpty吗?
if(string.IsNullOrWhiteSpace(password))
   ...error message...
if (!String.IsNullOrEmpty(password))
{
    System.Windows.Forms.MessageBox.Show("Setting Password to User ID");
}
"... SELECT WHERE USERID='" + userid + "')" + Environment.NewLine;
"... SELECT WHERE USERID= @userid)" + Environment.NewLine;