小编Waq*_*qas的帖子

如何解决“找不到列 dbo 或用户定义的函数或聚合,或者名称不明确”

我需要在 SQL 服务器中调用函数但出错了!

 cannot find either column "dbo" or the user-defined function or
    aggregate "dbo.udf_Sum_ExtraHours", or the name is ambiguous.
Run Code Online (Sandbox Code Playgroud)

我有昨天从堆栈中获得的函数,当我在 Management Studio 中单独测试它时,它运行良好,但是当我将它放入内联函数并需要调用存储过程时,它会抛出提到的错误,

我保存的功能是:

ALTER FUNCTION dbo.udf_Sum_ExtraHours
    (
    @strt date,
    @end date

    )
RETURNS  TABLE 
AS
    RETURN

    WITH cte
AS (
    SELECT ExtraHrs 
        ,CASE 
            WHEN left(ExtraHrs, 1) = '-'
                THEN - 1
            ELSE 1
            END AS multiply
        ,right(ExtraHrs, 8) AS timestring
        ,
        --get hours in seconds:
        DATEPART(HOUR, right(ExtraHrs, 8)) * 3600 AS h_in_s
        ,
        --get minutes in seconds:
        DATEPART(MINUTE, …
Run Code Online (Sandbox Code Playgroud)

sql-server stored-procedures inline-functions sql-server-2008

5
推荐指数
1
解决办法
2万
查看次数

获取错误:操作数类型冲突:nvarchar 与图像不兼容

我在 tblEmployee 中有用于员工图片的图像字段。

当我尝试在上传器中保存没有图像文件的员工详细信息时,它抛出并出错

“操作数类型冲突:nvarchar 与图像不兼容”

而当我从对话框中选择任何图片时,它工作正常。我正在使用 c# windows 应用程序。

我的代码看起来像:

byte[] bimage=null;
           if(txtPic.Text!="")
            {
               string  image=txtPic.Text;
                Bitmap bmp=new Bitmap(image);
                FileStream fs=new FileStream(image,FileMode.Open,FileAccess.Read);
                bimage=new byte[fs.Length];
                fs.Read(bimage,0,Convert.ToInt32(fs.Length));
                fs.Close();
            }
                cmd = new SqlCommand("sp_insert_new_employee",conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@name",txtName.Text.Trim());
                cmd.Parameters.AddWithValue("@fname",txtFName.Text.Trim());
                cmd.Parameters.AddWithValue("@dob",Convert.ToDateTime(dtDOB.Text));
                cmd.Parameters.AddWithValue("@nic",txtCNIC.Text.Trim());
                cmd.Parameters.AddWithValue("@add",txtAdd.Text.Trim());
                cmd.Parameters.AddWithValue("@emptype",cmbEmpType.SelectedItem.ToString());
                if(bimage!=null)
                  cmd.Parameters.AddWithValue("@imgdata", SqlDbType.Image).Value = bimage;
                else
                    cmd.Parameters.AddWithValue("@imgdata", SqlDbType.Image).Value = DBNull.Value;
                cmd.Parameters.AddWithValue("@descr",txtDescr.Text.Trim());
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
                MessageBox.Show("Successfully added....!");`
Run Code Online (Sandbox Code Playgroud)

任何人都知道我在哪里犯了错误?

c#

4
推荐指数
1
解决办法
2万
查看次数

如何在SQL Server中将hh:mm:ss转换为秒超过24小时

我有一个表名tblAttend,其中一列名为WorkHrsdatatype varchar.

简单选择查询的结果是

在此输入图像描述

我总结了这个列的值,并在几秒钟内得到了我的查询结果

select sum(DATEDIFF(SECOND, '0:00:00', WorkHrs )) 
from tblAttend
Run Code Online (Sandbox Code Playgroud)

它显示了这个输出:

在此输入图像描述

现在的问题是,当总和WorkHrs大于24小时时,它会抛出一个错误:

在此输入图像描述

你有什么建议可以解决这个问题?提前致谢

sql sql-server sql-server-2008

2
推荐指数
2
解决办法
2万
查看次数