我有一个程序,我必须显示
时间(ura) 我的表值得函数:
<div id="root">i am root</div>
我连接服务器的方法:
[dbo].[DobiDogodek](
@Ime nvarchar(100), @Datum date)
RETURNS TABLE AS RETURN (SELECT OpisDogodka AS 'Opisdogodka',Lokacija, Ura FROM Dogodek WHERE Ime=@Ime AND Datum=@Datum)
我也试过使用Datatable和datarow。我也不确定如何使用Date。我知道如何使用DateTime,但我需要将日期和时间分开。我做错了什么?
4.6.2017(欧洲中部时间上午11点40分)更新:
看来我得到了理想的结果
public string Dobi_dogodek(string ime,string datum)
{
string a="";
cmd = new SqlCommand("SELECT * FROM dbo.DobiDogodek(@Ime,@Datum)",povezava); //povezava = connectio and it succeeds to connect to the server.
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@Ime", ime);
cmd.Parameters.AddWithValue("@Datum", datum); //how to pass date only?
try
{
SqlDataReader Reader = cmd.ExecuteReader();
while(Reader.Read())
{
a = Reader.GetString(0)+" "+Reader.GetString(1)+" "+Reader.GetString(3).ToString(); // get what?
}
Uspeh = true;
}
catch (Exception e)
{
ex = e;
}
finally
{
povezava.Close();
}
return a;
}
现在我只需要根据我的要求拆分字符串,但这是一种更好的(不一定是简单的)方法吗?
答案 0 :(得分:1)
试试这个:
cmd.Parameters.AddWithValue("@Datum", Convert.ToDateTime(datum));
另见https://msdn.microsoft.com/en-us/library/cc716729(v=vs.110).aspx。
答案 1 :(得分:0)
运行时会发生什么?你收到错误信息了吗?是把它作为一个整数?你是否通过使用sql profiler看到sql server从应用程序获得了什么?
我会仔细检查,但我认为你的问题是你没有在我们的语句中添加变量引号,因此当它运行时它将它们作为整数进行评估。试试"SELECT * FROM dbo.DobiDogodek('@Ime','@Datum')"
。自从我使用像EF这样的东西以来已经很久了......