user3093010
user3093010

Reputation: 365

SQL not return data

I want return data that are between @from and @to. Date in DB is nvarchar(max) type. Sql is fine, because when i set @from and @to and run sql code in sql server, return correct result. XML not empty, there are columns name, but not columns data.

public static DataSet Report(string from, string to)
{
    DataSet ds = new DataSet("Rez");
    using (SqlConnection conn = new SqlConnection(conf.ConnStrVienaSas))
    {
        using (SqlCommand cmd = new SqlCommand(FileReaderHelper.ReadSQLText("ExternalReports.sql"), conn))
        {
            cmd.CommandType = CommandType.Text;
            cmd.CommandTimeout = 180;
            cmd.Parameters.Add("@from", SqlDbType.NVarChar).Value = from;
            cmd.Parameters.Add("@to", SqlDbType.NVarChar).Value = to; 
            using (SqlDataAdapter adap = new SqlDataAdapter(cmd))
            try
            {
                adap.Fill(ds);
            }
            catch (Exception ex)
            {
                ds = WSErrorExtenderHelper.CreateErrorDS(ex.ToString() /*"Error reading data from DB."*/);
            }
        }
    }
    return ds;
}

SQL fragment:

SELECT [A].[FieldValue] AS Created_at, [B].[Created_by], [C].[Code1], 
[D].[Code2], [E].[Code3], [F].[Code4]
FROM [dbo].[TEMP] A with (nolock)
INNER JOIN [dbo].[TEMP2] B with (nolock)
ON [A].[UserDefinedRowId] = [B].[UserDefinedRowId]
INNER JOIN [dbo].[TEMP3] C with (nolock)
ON [A].[UserDefinedRowId] = [C].[UserDefinedRowId]
INNER JOIN [dbo].[TEMP4] D with (nolock)
ON [A].[UserDefinedRowId] = [D].[UserDefinedRowId]
INNER JOIN [dbo].[TEMP5] E with (nolock)
ON [A].[UserDefinedRowId] = [E].[UserDefinedRowId]
INNER JOIN [dbo].[TEMP6] F with (nolock)
ON [A].[UserDefinedRowId] = [F].[UserDefinedRowId]

WHERE ([A].[FieldValue] between @from and @to)

Upvotes: 0

Views: 71

Answers (1)

apomene
apomene

Reputation: 14389

I believe using:

conn.Open();

will solve your problems

Upvotes: 1

Related Questions