如何在asp.net中为fileupload编写更新查询

问题描述:

try
        {              
            connection.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = connection;
            cmd.CommandTimeout = 0;


           // cmd.CommandText = "UPDATE CREDOnet_Documents.dbo.SubUnitDocs  SET FileName= '" + sFilename + "',File=" + fileData + ",ContentType='" + contentType + "' WHERE ID =16";

            cmd.CommandText = "UPDATE CREDOnet_Documents.dbo.SubUnitDocs  SET @FileName,@FileBlob,@ContentType WHERE @LeaseDocID";


            cmd.Parameters.Add("@FileName", SqlDbType.NVarChar, 200);
            cmd.Parameters.Add("@File", SqlDbType.Image);
            cmd.Parameters.Add("@ContentType", SqlDbType.NVarChar, 200);
            cmd.Parameters.Add("@UpdatedBy", SqlDbType.NVarChar, 100);
            cmd.Parameters.Add("@UpdatedOn", SqlDbType.DateTime, 200);
            cmd.Parameters.Add("@ID", SqlDbType.Int);


            cmd.Parameters["@FileName"].Value = sFilename;
            cmd.Parameters["@File"].Value = fileData;
            cmd.Parameters["@ContentType"].Value = contentType;
            cmd.Parameters["@UpdatedBy"].Value = "System";
            cmd.Parameters["@UpdatedOn"].Value = System.DateTime.Now;
            cmd.Parameters["@ID"].Value = "16";


            cmd.CommandType = CommandType.Text;
            cmd.ExecuteNonQuery();
        }
        catch
        {

        }
        finally
        {
            connection.Close();
        }

尝试:

Try:
cmd.CommandText = "UPDATE CREDOnet_Documents.dbo.SubUnitDocs  SET FileName=@FileName, File=@FileBlob, ContentT=@ContentType WHERE ID=@LeaseDocID";





参考:

MSDN:配置参数和参数数据类型(ADO.NET) [ ^ ]

MSDN:DataAdapter参数(ADO.NET) [ ^ ]

MSDN:SqlCommand.Parameters属性 [ ^ ]



Refer:
MSDN: Configuring Parameters and Parameter Data Types (ADO.NET)[^]
MSDN: DataAdapter Parameters (ADO.NET)[^]
MSDN: SqlCommand.Parameters Property [^]


更新语句语法为

The update statement syntax is
UPDATE [TableName]
SET [Column1] = Value1,
    [Column2] = Value2,
    .
    .
    .
    [ColumnN] = ValueN
WHERE [Condition]





所以你的更新语句看起来应该是



So your update statement should look like

UPDATE CREDOnet_Documents.dbo.SubUnitDocs  
SET FileName= @FileName,
File=@File,
ContentType=@ContentType
WHERE ID =@ID





拿一个如果您不熟悉更新声明,请查看以下链接

更新( Transact-SQL) [ ^ ]

更新SQL Server基础知识 [ ^ ]

SQL UPDATE声明 [ ^ ]



Take a look at the below links if you are not familiar with update statement
UPDATE (Transact-SQL)[^]
UPDATE Basics in SQL Server[^]
SQL UPDATE Statement[^]