datetime
という名前の列がsql_DateTime
というSQL Serverのテーブルがあります。私はまた、このテーブルからの単一のレコードにマップするC#構造体を持っています。この構造ではDateTime
のm_DateTime
という名前のメンバーがあります。私は、このテーブルからレコードを取得DataSet
を使用して、その後、私のm_DateTime
変数にDataset
からsql_DateTime
を取得しようとした後c#とdatasetsを使用してSQL ServerにDateTimeを読み書きする方法
私の問題が発生します。 InvalidCastException
を取得すると、他のデータ型を扱う方法と似たようにしようとします。
ご希望の場合は、GUIにDateTimePicker
を使用して、日付と時刻を表示および設定することができます。
参考のため、私のコードが添付されています。ご指摘ありがとうございます。
私はSQL_DATETIME
使用
そして、まだ名前の列を持つSQL Serverのテーブルがあります:
exp.m_DateTime = (DateTime)dsExperiments.Tables["Experiment"]
.Rows[0]["DateTime"];
は名前をメモあなたが言う
public bool GetExperiment(ref Experiment exp, int ExperimentID, ref string statusMsg)
{
bool ret = true;
statusMsg = "GetExperiment: ";
try
{
// Open the connection
conn.Open();
// init SqlDataAdapter with select command and connection
string SelectString =
@"SELECT * " +
"FROM Experiment " +
"WHERE ExperimentID = " + ExperimentID.ToString();
SqlDataAdapter daExperiments = new SqlDataAdapter(SelectString, conn);
// fill the dataset
DataSet dsExperiments = new DataSet();
daExperiments.Fill(dsExperiments, "Experiment");
// assign dataset values to proj object that was passed in
exp.m_ExperimentID = (int)dsExperiments.Tables["Experiment"].Rows[0]["ExperimentID"];
exp.m_ProjectID = (int)dsExperiments.Tables["Experiment"].Rows[0]["ProjectID"];
exp.m_Name = (string)dsExperiments.Tables["Experiment"].Rows[0]["Name"];
exp.m_Description = (string)dsExperiments.Tables["Experiment"].Rows[0]["Description"];
exp.m_UserID = (int)dsExperiments.Tables["Experiment"].Rows[0]["UserID"];
// PROBLEM OCCURS HERE
exp.m_DateTime = (DateTime)dsExperiments.Tables["Experiment"].Rows[0]["DateTime"];
}
catch (Exception ex)
{
ret = false;
statusMsg += "Failed - " + ex.Message;
}
finally
{
// Close the connection
if (conn != null)
{
conn.Close();
}
}
return ret;
}
public class Experiment
{
public int m_ExperimentID;
public int m_ProjectID;
public string m_Name;
public string m_Description;
public int m_UserID;
public DateTime m_DateTime;
}
MSSQL DATETIMEをDateTime .NET構造に変換する方法については、オンラインで数多くの記事があります。私はあなたの間違った変数の型を使用して推測し、その理由のためにキャストすることはできません。これを読んでください:http://stackoverflow.com/questions/1181662/is-there-any-difference-between-datetime-in-c-sharp-and-datetime-in-sql-server –