更新数据库中的文件 [英] Updating a file in database

查看:80
本文介绍了更新数据库中的文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试更新,但出现错误:'',''附近的语法不正确.

我的代码如下所示:

I am trying to update, but i get the error: Incorrect syntax near '',''.

My code look like this:

public void UpdateAnyFileToFileTable(string filePath)
        {

            string filename = Path.GetFileName(filePath);

            int id = file.GetUserID();


            string connection = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
            SqlConnection conn = new SqlConnection(connection);


            string sqlinsert = @"UPDATE filetable set @filename, @filetype, @filecolumn, @lastedit, @lasteditbyFK, @fibersection, @parentfiberFK, @locked, WHERE id=194";

            FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
            BinaryReader br = new BinaryReader(fs);
            Byte[] bytes = br.ReadBytes((Int32)fs.Length);

            br.Close();
            fs.Close();
            

            try
            {
                conn.Open();

                SqlTransaction sqltrans = conn.BeginTransaction();
                SqlCommand cmdinsert = conn.CreateCommand();
                cmdinsert.CommandText = sqlinsert;
                cmdinsert.Transaction = sqltrans;

                cmdinsert.Parameters.Add("@filename", SqlDbType.VarChar);
                cmdinsert.Parameters.Add("@filetype", SqlDbType.VarChar);
                cmdinsert.Parameters.Add("@filecolumn", SqlDbType.VarBinary);
                cmdinsert.Parameters.Add("@lastedit", SqlDbType.SmallDateTime);
                cmdinsert.Parameters.Add("@lasteditbyFK", SqlDbType.Int);
                cmdinsert.Parameters.Add("@fibersection", SqlDbType.VarChar);
                cmdinsert.Parameters.Add("@parentfiberFK", SqlDbType.Int);
                cmdinsert.Parameters.Add("@locked", SqlDbType.Bit);


                cmdinsert.Parameters["@filename"].Value = filename;
                cmdinsert.Parameters["@filetype"].Value = Path.GetExtension(filename);
                cmdinsert.Parameters["@filecolumn"].Value = bytes;
                cmdinsert.Parameters["@lastedit"].Value = System.DateTime.Now;
                cmdinsert.Parameters["@lasteditbyFK"].Value = id;
                cmdinsert.Parameters["@fibersection"].Value = "Preform";
                cmdinsert.Parameters["@parentfiberFK"].Value = 6;
                cmdinsert.Parameters["@locked"].Value = 0;
              

                cmdinsert.ExecuteNonQuery();

                sqltrans.Commit();

            }
            finally
            {
                conn.Close();
              //  File.Delete(filePath);
            }
        }


谁能看到这个问题?


Can anyone see the problem??

推荐答案

easy:

@更新文件表集@ filename,@ filetype,@ filecolumn,@ lastedit,@ lasteditbyFK,@ fibersection,@ parentfiberFK,@ locked WHERE id = 194";

删除@locked
easy:

@"UPDATE filetable set @filename, @filetype, @filecolumn, @lastedit, @lasteditbyFK, @fibersection, @parentfiberFK, @locked, WHERE id=194";

remove the , after @locked


这篇关于更新数据库中的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆