我在ASP.NET c#和MySQL数据库中工作。
在我的数据库表的doDate
字段中,我可以有三个值:
- Null
- 0000-00-00
- 2016年3月8日
醇>
当字段doDate的值为:
时,我需要
- 0000-00-00
- 2016年3月8日
醇>
禁用 TextBox txtdoDate
,我试过了:
txtdoDate1 = dr["doDate"] == DBNull.Value ? "" : dr["doDate"] == "0000-00-00" ? "0000-00-00" : Convert.ToDateTime(dr["doDate"]).ToString("dd/MM/yyyy");
if (txtdoDate1.ToString() != "")
{
txtdoDate.Text = txtdoDate1.ToString();
txtdoDate.Enabled = false;
}
else
{
txtdoDate.Enabled = true;
}
但是当字段doDate
的值为:
0000-00-00
TextBox txtdoDate
已启用且为空。
你能帮我解决一下这个问题吗?
提前致谢。
编辑#1
protected void loadsRecord()
{
using (OdbcConnection cn =
new OdbcConnection(ConfigurationManager.ConnectionStrings["ConnMySQL"].ConnectionString))
{
sql = @" SELECT ..... ; ";
using (OdbcCommand command =
new OdbcCommand(sql, cn))
{
try
{
command.Connection.Open();
dr = command.ExecuteReader();
while (dr.Read())
{
txtdoDate1 = dr["doDate"] == DBNull.Value ? "" : (dr["doDate"] == "0000-00-00" ? "0000-00-00" : Convert.ToDateTime(dr["doDate"]).ToString("dd/MM/yyyy"));
if (txtdoDate1.ToString() != "")
{
txtdoDate.Text = txtdoDate1.ToString();
txtdoDate.Enabled = false;
}
else
{
txtdoDate.Enabled = true;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
command.Connection.Close();
}
}
}
}
答案 0 :(得分:0)
使用它像:
txtdoDate1 = dr["doDate"] == DBNull.Value ? "" : (dr["doDate"] == "0000-00-00" ? "0000-00-00" : Convert.ToDateTime(dr["doDate"]).ToString("dd/MM/yyyy"));
将第二个条款包含在parantheses
中答案 1 :(得分:0)
这是正确的行为,因为您正在使用以下if
语句
if (txtdoDate1.ToString() != "")
{
txtdoDate.Text = txtdoDate1.ToString();
txtdoDate.Enabled = false;
}
else
{
txtdoDate.Enabled = true;
}
当dr["doDate"] == "0000-00-00"
txtdoDate
中存储的"0000-00-00"
值txtdoDate1.ToString() != ""
不是if
时。您必须在if (txtdoDate1.ToString() != "" && txtdoDate1.ToString() != "0000-00-00")
语句中修改条件,如下所示:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
X = np.array([[3,2,1],[4,5,6]])
Y = np.array([[1,2,1],[2,3,4]])
Z = np.array([[10,11,12],[13,12,16]])
for i in range(0,X.shape[0]):
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(X[i,:], Y[i,:], Z[i,:], c='r', marker='o')
ax.set_xlabel('Z')
ax.set_ylabel('X')
ax.set_zlabel('Y')
plt.show()