[Solved] ASP.Net Error: Incorrect syntax near the keyword file

nedash
 
on Aug 13, 2021 05:50 AM
Sample_113478.zip
702 Views

hi

I use below codes to generate script from Sqlserver

    public string GenerateCreateTableScript()
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DigimasterConnectionString"].ConnectionString);
        SqlCommand cmd = new SqlCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = @"DECLARE @object_name SYSNAME
                , @object_id INT
                , @SQL NVARCHAR(MAX)
                SELECT
                        @object_name = '[' + OBJECT_SCHEMA_NAME(o.[object_id]) + '].[' + OBJECT_NAME([object_id]) + ']'
                    , @object_id = [object_id]
                FROM (SELECT [object_id] = OBJECT_ID('dbo.VideoL', 'U')) o
      
                SELECT @SQL = 'DROP TABLE VideoL
                    SET ANSI_NULLS ON
                    SET QUOTED_IDENTIFIER ON
                    CREATE TABLE ' + @object_name + CHAR(13) + '(' + CHAR(13) + STUFF((
                    SELECT CHAR(13) + '    , [' + c.name + '] ' +
                        CASE WHEN c.is_computed = 1
                            THEN 'AS ' + OBJECT_DEFINITION(c.[object_id], c.column_id)
                            ELSE
                                CASE WHEN c.system_type_id != c.user_type_id
                                    THEN '[' + SCHEMA_NAME(tp.[schema_id]) + '].[' + tp.name + ']'
                                    ELSE '[' + UPPER(tp.name) + ']'
                                END  +
                                CASE
                                    WHEN tp.name IN ('varchar', 'char', 'varbinary', 'binary')
                                        THEN '(' + CASE WHEN c.max_length = -1
                                                        THEN 'MAX'
                                                        ELSE CAST(c.max_length AS VARCHAR(5))
                                                    END + ')'
                                    WHEN tp.name IN ('nvarchar', 'nchar')
                                        THEN '(' + CASE WHEN c.max_length = -1
                                                        THEN 'MAX'
                                                        ELSE CAST(c.max_length / 2 AS VARCHAR(5))
                                                    END + ')'
                                    WHEN tp.name IN ('datetime2', 'time2', 'datetimeoffset')
                                        THEN '(' + CAST(c.scale AS VARCHAR(5)) + ')'
                                    WHEN tp.name = 'decimal'
                                        THEN '(' + CAST(c.[precision] AS VARCHAR(5)) + ',' + CAST(c.scale AS VARCHAR(5)) + ')'
                                    ELSE ''
                                END +
                                CASE WHEN c.collation_name IS NOT NULL AND c.system_type_id = c.user_type_id
                                    THEN ' COLLATE ' + c.collation_name
                                    ELSE ''
                                END +
                                CASE WHEN c.is_nullable = 1
                                    THEN ' NULL'
                                    ELSE ' NOT NULL'
                                END +
                                CASE WHEN c.default_object_id != 0
                                    THEN ' CONSTRAINT [' + OBJECT_NAME(c.default_object_id) + ']' +
                                            ' DEFAULT ' + OBJECT_DEFINITION(c.default_object_id)
                                    ELSE ''
                                END +
                                CASE WHEN cc.[object_id] IS NOT NULL
                                    THEN ' CONSTRAINT [' + cc.name + '] CHECK ' + cc.[definition]
                                    ELSE ''
                                END +
                                CASE WHEN c.is_identity = 1
                                    THEN ' IDENTITY(' + CAST(IDENTITYPROPERTY(c.[object_id], 'SeedValue') AS VARCHAR(5)) + ',' +
                                                    CAST(IDENTITYPROPERTY(c.[object_id], 'IncrementValue') AS VARCHAR(5)) + ')'
                                    ELSE ''
                                END
                        END
                    FROM sys.columns c WITH(NOLOCK)
                    JOIN sys.types tp WITH(NOLOCK) ON c.user_type_id = tp.user_type_id
                    LEFT JOIN sys.check_constraints cc WITH(NOLOCK)
                            ON c.[object_id] = cc.parent_object_id
                        AND cc.parent_column_id = c.column_id
                    WHERE c.[object_id] = @object_id
                    ORDER BY c.column_id
                    FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 7, '      ') +
                    ISNULL((SELECT '
                    , CONSTRAINT [' + i.name + '] PRIMARY KEY ' +
                    CASE WHEN i.index_id = 1
                        THEN 'CLUSTERED'
                        ELSE 'NONCLUSTERED'
                    END +' (' + (
                    SELECT STUFF(CAST((
                        SELECT ', [' + COL_NAME(ic.[object_id], ic.column_id) + ']' +
                                CASE WHEN ic.is_descending_key = 1
                                    THEN ' DESC'
                                    ELSE ''
                                END
                        FROM sys.index_columns ic WITH(NOLOCK)
                        WHERE i.[object_id] = ic.[object_id]
                            AND i.index_id = ic.index_id
                        FOR XML PATH(N''), TYPE) AS NVARCHAR(MAX)), 1, 2, '')) + ')'
                    FROM sys.indexes i WITH(NOLOCK)
                    WHERE i.[object_id] = @object_id
                        AND i.is_primary_key = 1), '') + CHAR(13) + ');'
                SELECT @SQL ";
        cmd.Connection = con;
        con.Open();
        string query = Convert.ToString(cmd.ExecuteScalar());
        con.Close();

        return query;
    }
    public void DownloadScript()
    {
        string iDValues = "", insertQry, updateQry;
        int i = 0;
        string conString = ConfigurationManager.ConnectionStrings["DigimasterConnectionString"].ConnectionString;
        SqlConnection con = new SqlConnection(conString);
        SqlCommand cmd = new SqlCommand("select * from VideoL", con);
        primaryKey = GetPrimaryKey(tableName, conString);
        insertQry = "";
        con.Open();

        if (File.Exists(Server.MapPath("~/" + tableName + ".sql")))
        {
            File.Delete(Server.MapPath("~/" + tableName + ".sql"));
        }

        // Writing Create Table Script.
        StreamWriter sw = new StreamWriter(Server.MapPath("~/" + tableName + ".sql"), true, Encoding.UTF8);
        sw.Write(GenerateCreateTableScript() + Environment.NewLine);
        sw.Close();

        SqlDataReader sdr = cmd.ExecuteReader();
        while (sdr.Read())
        {
            i = i + 1;
            updateAdd = "";
            insertQry = "";

            string celldata = "", coulmenName = "";
            for (int j = 0; j < sdr.FieldCount; j++)
            {
                if (j > 0)
                {
                    coulmenName += "," + sdr.GetName(j).ToString();
                    if (!string.IsNullOrEmpty(sdr[j].ToString()))
                    {
                        celldata += ",N'" + sdr[j].ToString().Replace("'", "''") + "'";
                    }
                    else
                    {
                        celldata += ",'" + sdr[j].ToString().Replace("'", "''") + "'";
                    }
                }
                else
                {
                    coulmenName += sdr.GetName(j).ToString();
                    if (!string.IsNullOrEmpty(sdr[j].ToString()))
                    {
                        celldata += "N'" + sdr[j].ToString().Replace("'", "''") + "'";
                    }
                    else
                    {
                        celldata += "'" + sdr[j].ToString().Replace("'", "''") + "'";
                    }
                }
                if (primaryKey == sdr.GetName(j).ToString())
                {
                    iDValues = sdr[j].ToString();
                }
                if (iDValues != null)
                {
                    updateQry = UpdateQuery(coulmenName, celldata, primaryKey, iDValues);
                    updateAdd += updateQry;
                    insertQry = InsertQuery(coulmenName, celldata, tableName);
                }
            }
            WriteScripts(tableName, insertQry, updateAdd, iDValues, primaryKey, i);
        }

        // Download the sql script file.
        if (File.Exists(Server.MapPath("~/" + tableName + ".sql")))
        {
            byte[] bytes = File.ReadAllBytes(Server.MapPath("~/" + tableName + ".sql"));
            File.Delete(Server.MapPath("~/" + tableName + ".sql"));

            Response.Clear();
            Response.Buffer = true;
            Response.Charset = "";
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.ContentType = ContentType;
            Response.AppendHeader("Content-Disposition", "attachment; filename=" + tableName + ".sql");
            Response.BinaryWrite(bytes);
            Response.Flush();
            Response.End();
        }
    }
    public string GetPrimaryKey(string tableName, string cnnString)
    {
        string iD = "";
        SqlConnection con = new SqlConnection(cnnString);
        SqlCommand cmd = new SqlCommand("sp_pkeys", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@table_name", SqlDbType.NVarChar).Value = tableName;
        con.Open();
        SqlDataReader sdr = cmd.ExecuteReader();
        while (sdr.Read())
        {
            iD = sdr[3].ToString();
        }
        con.Close();

        return iD;
    }
    public void WriteScripts(string tableName, string insertqry, string updateQuery, string iDValues, string PrimaryKey, int i)
    {
        string script = "";
        updateQuery = "UPDATE " + tableName + " SET " + updateQuery + " WHERE " + PrimaryKey + " = ' " + iDValues + "'";
        int index = updateQuery.LastIndexOf(",");
        string updatqry = updateQuery.Remove(index, 1);
        if (i == 1)
        {
            script += "DECLARE @updateCount INT;" + Environment.NewLine;
            script += "DECLARE @insertCount INT;" + Environment.NewLine;
            script += "DECLARE @count INT;" + Environment.NewLine;
            script += " SET @updateCount = 0;" + Environment.NewLine;
            script += " SET @insertCount = 0;" + Environment.NewLine;
            script += "SELECT @count = COUNT(*) FROM [" + tableName + "] WHERE [" + PrimaryKey + "] = '" + iDValues + "'" + Environment.NewLine;
            //script += "IF @count = 0" + Environment.NewLine;
            script += "BEGIN " + Environment.NewLine;
            script += "SET IDENTITY_INSERT " + tableName + " ON" + Environment.NewLine;
            script += insertqry + " " + Environment.NewLine;
            script += "SET IDENTITY_INSERT " + tableName + " OFF" + Environment.NewLine;
            script += " SET @insertCount = @insertCount + 1 " + Environment.NewLine;
            script += "END" + Environment.NewLine;
            //script += "ELSE" + Environment.NewLine;
            //script += "BEGIN" + Environment.NewLine;
            //script += updatqry + "" + Environment.NewLine;
            //script += " SET @updateCount = @updateCount + 1 " + Environment.NewLine;
            //script += "END" + Environment.NewLine;
            StreamWriter sw = new StreamWriter(Server.MapPath("~/" + tableName + ".sql"), true, Encoding.UTF8);
            sw.Write(script);
            sw.Close();
        }
        else
        {
            script += "SELECT @count = COUNT(*) FROM [" + tableName + "] WHERE [" + PrimaryKey + "] = '" + iDValues + "'" + Environment.NewLine;
            //script += "IF @count = 0" + Environment.NewLine;
            script += "BEGIN " + Environment.NewLine;
            script += "SET IDENTITY_INSERT " + tableName + " ON" + Environment.NewLine;
            script += insertqry + "" + Environment.NewLine;
            script += "SET IDENTITY_INSERT " + tableName + " OFF" + Environment.NewLine;
            script += "SET @insertCount = @insertCount + 1 " + Environment.NewLine;
            script += "END" + Environment.NewLine;
            //script += "ELSE" + Environment.NewLine;
            //script += "BEGIN " + Environment.NewLine;
            //script += updatqry + "" + Environment.NewLine;
            //script += "SET @updateCount = @updateCount + 1 " + Environment.NewLine;
            //script += "END" + Environment.NewLine;
            StreamWriter sw = new StreamWriter(Server.MapPath("~/" + tableName + ".sql"), true, Encoding.UTF8);
            sw.Write(script);
            sw.Close();
        }
    }

    public string InsertQuery(string columnName, string cellData, string tableName)
    {
        return "INSERT INTO " + tableName + " (" + columnName + ") VALUES (" + cellData + ")";
    }

    public string UpdateQuery(string columnName, string cellData, string Names, string value)
    {
        string iDName, iDValue, ud = "", name = "", values = "";
        iDName = Names;
        iDValue = value;
        if (iDName != null)
        {
            int indexcolumn = columnName.LastIndexOf(",");
            int indexValues = cellData.LastIndexOf(",");
            if (indexcolumn > 0 && indexValues > 0)
            {
                columnName = columnName.Substring(indexcolumn);
                cellData = cellData.Substring(indexValues);
                name = columnName.Replace(",", "");
                values = cellData.Replace(",", "");
                if (name != iDName && values != iDValue)
                {
                    ud = name + "=" + values + ",";
                }
            }
            else
            {
                name = columnName;
                values = cellData;
                if (name != iDName && values != iDValue)
                {
                    ud = name + "=" + values + ",";
                }
            }
        }
        return ud;
    }

and result was: 

DROP TABLE VideoL
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
CREATE TABLE [dbo].[VideoL]
(
      [id] [INT] NOT NULL IDENTITY(1,1)
    , [FirstClass] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [SecondClass] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [Name] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [Code] [NVARCHAR](10) COLLATE Persian_100_CI_AI NULL
    , [Codes] [VARCHAR](10) COLLATE Persian_100_CI_AI NULL
    , [Language] [NVARCHAR](50) COLLATE Persian_100_CI_AI NULL
    , [FclassSoft] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [SclassSoft] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [Price] [VARCHAR](15) COLLATE Persian_100_CI_AI NULL
    , [Description] [NVARCHAR](MAX) COLLATE Persian_100_CI_AI NULL
    , [MotorDescription] [NVARCHAR](MAX) COLLATE Persian_100_CI_AI NULL
    , [Key1] [NVARCHAR](30) COLLATE Persian_100_CI_AI NULL
    , [Key2] [NVARCHAR](30) COLLATE Persian_100_CI_AI NULL
    , [Key3] [NVARCHAR](30) COLLATE Persian_100_CI_AI NULL
    , [Key4] [NVARCHAR](30) COLLATE Persian_100_CI_AI NULL
    , [Key5] [NVARCHAR](30) COLLATE Persian_100_CI_AI NULL
    , [Key6] [NVARCHAR](30) COLLATE Persian_100_CI_AI NULL
    , [Key7] [NVARCHAR](30) COLLATE Persian_100_CI_AI NULL
    , [Key8] [NVARCHAR](30) COLLATE Persian_100_CI_AI NULL
    , [Image] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [date] [DATETIME] NULL
    , [SearchKeys] [NVARCHAR](300) COLLATE Persian_100_CI_AI NULL
    , [preference] [INT] NULL
    , [Hajim] [NVARCHAR](30) COLLATE Persian_100_CI_AI NULL
    , [Time] [NVARCHAR](30) COLLATE Persian_100_CI_AI NULL
    , [status] [VARCHAR](5) COLLATE Persian_100_CI_AI NULL CONSTRAINT [DF_VideoL_status] DEFAULT ((1))
    , [UrlName] [NVARCHAR](200) COLLATE Persian_100_CI_AI NULL
    , [Quality] [NVARCHAR](50) COLLATE Persian_100_CI_AI NULL
    , [Type] [NVARCHAR](50) COLLATE Persian_100_CI_AI NULL
    , [DVDE] [VARCHAR](5) COLLATE Persian_100_CI_AI NULL
    , [ThirdClass] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [OFirstClass] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [OSecondClass] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [OThirdClass] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [Format] [NVARCHAR](10) COLLATE Persian_100_CI_AI NULL
    , [Aparat] [NVARCHAR](300) COLLATE Persian_100_CI_AI NULL
    , [FirstClassA] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [SecondClassA] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [ThirdClassA] [NVARCHAR](100) COLLATE Persian_100_CI_AI NULL
    , [lesson] [NVARCHAR](10) COLLATE Persian_100_CI_AI NULL
    , [file] [NVARCHAR](10) COLLATE Persian_100_CI_AI NULL
    , [Level] [NVARCHAR](30) COLLATE Persian_100_CI_AI NULL
                    , CONSTRAINT [PK_VideoL] PRIMARY KEY CLUSTERED ([id])
);
DECLARE @updateCount INT;
DECLARE @insertCount INT;
DECLARE @count INT;
 SET @updateCount = 0;
 SET @insertCount = 0;
SELECT @count = COUNT(*) FROM [VideoL] WHERE [id] = '1'
BEGIN 
SET IDENTITY_INSERT VideoL ON
INSERT INTO VideoL (id,FirstClass,SecondClass,Name,Code,Codes,Language,FclassSoft,SclassSoft,Price,Description,MotorDescription,Key1,Key2,Key3,Key4,Key5,Key6,Key7,Key8,Image,date,SearchKeys,preference,Hajim,Time,status,UrlName,Quality,Type,DVDE,ThirdClass,OFirstClass,OSecondClass,OThirdClass,Format,Aparat,FirstClassA,SecondClassA,ThirdClassA,lesson,file,Level) VALUES (N'1','','','',N'3000','','','','','','','','','','','','','','','','','','',N'1','','','','','','','','','','','','','','','','','','','') 
SET IDENTITY_INSERT VideoL OFF
 SET @insertCount = @insertCount + 1 
END
SELECT @count = COUNT(*) FROM [VideoL] WHERE [id] = '36'
BEGIN 
SET IDENTITY_INSERT VideoL ON
INSERT INTO VideoL (id,FirstClass,SecondClass,Name,Code,Codes,Language,FclassSoft,SclassSoft,Price,Description,MotorDescription,Key1,Key2,Key3,Key4,Key5,Key6,Key7,Key8,Image,date,SearchKeys,preference,Hajim,Time,status,UrlName,Quality,Type,DVDE,ThirdClass,OFirstClass,OSecondClass,OThirdClass,Format,Aparat,FirstClassA,SecondClassA,ThirdClassA,lesson,file,Level) VALUES (N'36',N'گرافیک و انیمیشن',N'Photoshop_Illustrator',N'آموزش فوتوشاپ و ایلوستریتور',N'GR1000',N'GR1000',N'انگیسی (زیرنویس انگلیسی)',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'0',N'<ul><li><strong>آنچه خواهید آموخت</strong><strong><span dir="LTR"> :</span></strong></li><li>&nbsp;</li><li>* پس از گذراندن این دوره ، شما هم استاد فتوشاپ و هم ایلوستریتور خواهید شد<span dir="LTR">.</span></li><li>* جایی که می توانید با طراحی آرم های عالی ، چهره های کارتونی ، گل ها ، ماندالاها ، جلوه های طراحی ، جلوه های متنی ، جلوه های انیمیشن ، رتوش و &hellip; ترمیم و رویای هر طراح &ndash; دستکاری عکس &ndash; ایجاد جلوه های جادویی و ایجاد محیط فانتزی را بیاموزید.</li><li>* شما می توانید با استفاده از دستکاری عکس ، رتوش عکس ، ترمیم عکس را انجام دهید</li><li>* شما می توانید استاد جادوگر باشید<span dir="LTR">: &lsquo;The Pen Tool&rsquo;</span></li><li>&nbsp;</li></ul><p><em><strong>توجه</strong></em>:&nbsp;</p><p><strong><em>حتما نمونه فیلم موجود در</em> آپارات<em> را مشاهده نمایید</em>.</strong></p><p>&nbsp;</p><ul><li><strong>این دوره آموزشی برای کسانی مناسب است که</strong><strong><span dir="LTR"> :</span></strong></li><li>&nbsp;</li><li>* می خواهند فتوشاپ و ایلوستریتور را از ابتدا یاد بگیرند و می خواهند یک طراح حرفه ای شوند</li><li>* می خواهند مهارت های طراحی خود را افزایش دهید</li><li>* می خواهند آرم های عالی ، چهره های کارتونی ، ماندالاها ، پس زمینه های انتزاعی در ایلوستریتور را طراحی کنید</li><li>* اگر می خواهید آرم های عالی ، چهره های کارتونی ، ماندالاها ، پس زمینه های انتزاعی در ایلوستریتور را طراحی کنید ، این</li><li>* اگر می خواهید رتوش ، ترمیم ، جلوه های طراحی ، جلوه های متنی را یاد بگیرید ، این دوره برای شما مناسب است</li><li>* اگر می خواهید<span dir="LTR"> Master Pen Tool </span>را بیابید ، این دوره برای شما مناسب است</li><li>* اگر می خواهید نکاتی را درباره ویرایش حرفه ای عکس یاد بگیرید ، این دوره برای شما مناسب است</li></ul><p>&nbsp;</p><p><strong>نمونه موارد آموزش داده شده در ایلوستریتور:&nbsp;</strong></p><hr /><p><br />Design Effects</p><p>Text Effects</p><p>Designing Professional Logos</p><p>Abstract Backgrounds</p><p>Designing Awesome Flowers</p><p>Designing Cartoon Faces</p><p>Designing Mandalas</p><p>Mastering Effects</p><p>Mastering 3D in Illustrator</p><p>and many more ...</p><p>&nbsp;</p><p><strong>نمونه موارد آموزش داده شده در فتوشاپ:</strong></p><hr /><p>Design Effects</p><p>Text Effects</p><p>Retouching</p><p>Restoration</p><p>Masking</p><p>Mastering Pen Tool in Depth (for selecting anything , even Person [for Photo Manipulation])</p><p>Awesome Animation Effects</p><p>Business Card Design</p><p>Photo Manipulation Tips , Tricks and Techniques</p><p>&nbsp;</p><p><br />&nbsp;</p>',N'جایی که می توانید با طراحی آرم های عالی ، چهره های کارتونی ، گل ها ، ماندالاها ، جلوه های طراحی ، جلوه های متنی ، جلوه های انیمیشن ، رتوش و … ترمیم و رویای هر طراح – دستکاری عکس – ایجاد جلوه های جادویی و ایجاد محیط فانتزی را بیاموزید. ',N'آموزش فوتوشاپ',N'آموزش ایلوستریتور',N'فیلم های آموزشی',N'فوتوشاپ حرفه ای',N' ایلوستریتور حرفه ای',N'آموزش طراحی لوگو',N'آموزش ویرایش عکس',N'ادیت عکس',N'فایلی تا کنون بارگذاری نشده است.',N'8/9/2021 10:03:14 PM',N'آموزش فوتوشاپ,آموزش ایلوستریتور,فیلم های آموزشی,فوتوشاپ حرفه ای, ایلوستریتور حرفه ای,آموزش طراحی لوگو,آموزش ویرایش عکس,ادیت عکس',N'2',N'3.72 G',N'40:40 ساعت',N'1',N'آموزش-فوتوشاپ-و-ایلوستریتور',N'HD',N'فيلم هاي آموزشي',N'1',N'مقدماتی تا پیشرفته',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'MP4','','','','',N'365',N'دارد',N'مبتدی -پیشرفته')
SET IDENTITY_INSERT VideoL OFF
SET @insertCount = @insertCount + 1 
END
SELECT @count = COUNT(*) FROM [VideoL] WHERE [id] = '38'
BEGIN 
SET IDENTITY_INSERT VideoL ON
INSERT INTO VideoL (id,FirstClass,SecondClass,Name,Code,Codes,Language,FclassSoft,SclassSoft,Price,Description,MotorDescription,Key1,Key2,Key3,Key4,Key5,Key6,Key7,Key8,Image,date,SearchKeys,preference,Hajim,Time,status,UrlName,Quality,Type,DVDE,ThirdClass,OFirstClass,OSecondClass,OThirdClass,Format,Aparat,FirstClassA,SecondClassA,ThirdClassA,lesson,file,Level) VALUES (N'38',N'گرافیک و انیمیشن',N'Web Designing',N'آموزش UX Design',N'GR1001',N'GR1001',N'انگیسی (زیرنویس انگلیسی)',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'0',N'<p>بحث <strong>تجربه کاربری</strong> خیلی مهمه چون راحتی و ایجاد <strong>رضایت کاربر </strong>تو استفاده از وب سایت خیلی برای <strong>کارفرما</strong> مهمه</p><p>چون &nbsp;تاثیر مستقیم روی <strong>سئو سایت</strong> داره و خیلی راحت میتونه باعث<strong> افت سئو </strong>سایت بشه</p><p>&nbsp;</p><p>این دوره رو حتما ببینید که روی <strong>آینده شغلیتون</strong> خیلی <strong>تاثیر</strong> داره</p><p>&nbsp;</p><p><strong>توجه:&nbsp;</strong></p><p><strong>حتما نمونه فیلم موجود در آپارات را مشاهده نمایید</strong>.</p><p>&nbsp;</p><p><strong>آنچه در این دوره یاد خواهید گرفت:</strong></p><p><br />&bull;&nbsp;&nbsp;&nbsp;&nbsp;یادگیری پایه طراحی برای بهبود تجربه کاربر</p><p>&bull;&nbsp;&nbsp;&nbsp;یک کتابخانه از بهترین شیوه ها(شامل dropdowns, input forms, lists &amp;table و &hellip;)</p><p>&bull;&nbsp;&nbsp;&nbsp;مشکلات معمول برای کاربردی بودن و چگونگی اصلاح آنها</p><p>&bull;&nbsp;&nbsp;&nbsp;تحقیق درباره نظر کاربران و کاربردی بودن تحقیقات (چه زمانی بپرسیم، چگونه بپرسیم و چگونه در کنار موثر بودن، آن را ساده انجام دهیم.)</p><p>&bull;&nbsp;&nbsp;&nbsp;ابزار استاندارد تجاری، برنامه ها و گردش کار ها</p><p>&nbsp;</p><p><strong>این دوره مناسب افراد با پیش زمینه های متفاوت میباشد:</strong></p><p>&nbsp;</p><p><em>توسعه دهندگان:</em> عده ای از توسعه دهندگان برنامه ای مینویسند که هر بار که کسی آن را دانلود میکند در استفاده از آن به مشکل میخورد و بار ها از این مشکل به توسعه دهنده اعتراض میکنند.</p><p><em>طراحان گرافیک و UI: </em>برای این دسته، UX یکی از معمول ترین مهارت هایی است که باید به حرفه شان اضافه کنند. هزاران کارفرما به این مهارت نیاز دارند و به آن اهمیت میدهند.<br />و افراد دیگری که کم و بیش به دانستن چگونگی طراحی موفق تجربه کاربر خوب نیاز دارند.</p><p>&nbsp;</p><p>نمونه موارد آموزش داده شده :&nbsp;</p><hr /><p>The fundamentals of interaction design</p><p>Design patterns &amp; best practices</p><p>User reserach &amp; testing</p><p>Communicating design</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>',N'یک دوره برای آموزش طراحی شهودی و آسان برای استفاده در طراحی وب و برنامه های تلفن همراه میباشد. ',N'ux designer',N'طراحی وب سایت',N'فیلم های آموزشی',N'یو ایکس دیزاینر',N'آموزش طراحی وب سایت',N'آموزش ux design',N'تجربه کاربری','',N'فایلی تا کنون بارگذاری نشده است.',N'8/11/2021 3:40:56 PM',N'ux designer,طراحی وب سایت,فیلم های آموزشی,یو ایکس دیزاینر,آموزش طراحی وب سایت,آموزش ux design,تجربه کاربری,',N'3',N'968 M',N'18  ساعت',N'1',N'آموزش-UX-Design',N'Full HD',N'فيلم هاي آموزشي',N'1',N'UI/UX designer',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'MP4','','','','',N'31',N'ندارد',N'مبتدی -پیشرفته')
SET IDENTITY_INSERT VideoL OFF
SET @insertCount = @insertCount + 1 
END
SELECT @count = COUNT(*) FROM [VideoL] WHERE [id] = '39'
BEGIN 
SET IDENTITY_INSERT VideoL ON
INSERT INTO VideoL (id,FirstClass,SecondClass,Name,Code,Codes,Language,FclassSoft,SclassSoft,Price,Description,MotorDescription,Key1,Key2,Key3,Key4,Key5,Key6,Key7,Key8,Image,date,SearchKeys,preference,Hajim,Time,status,UrlName,Quality,Type,DVDE,ThirdClass,OFirstClass,OSecondClass,OThirdClass,Format,Aparat,FirstClassA,SecondClassA,ThirdClassA,lesson,file,Level) VALUES (N'39',N'گرافیک و انیمیشن',N'طراحی گرافیک',N'نظریه طراحی برای مبتدیان ',N'GR1002',N'GR1002',N'انگیسی (زیرنویس انگلیسی)',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'0',N'<p>&nbsp;بسیاری از افراد اگرچه به طراحی گرافیک علاقه مند هستند اما هیچ گونه آشنایی با اصول اولیه طراحی ندارند. برای یادگیری ایده های مختلف در حوزه طراحی گرافیک نیاز به صرف سال ها زمان دارید. اما می توانید با استفاده از یک دوره آموزشی خوب که به شما در آشنایی و درک مبانی رنگ، تایپوگرافی، چیدمان، ترکیب بندی، برندسازی و حوزه های دیگر طراحی گرافیک کمک می کند، در زمان کوتاه از یک فرد مبتدی در حوزه طراحی به یک متخصص تبدیل شوید<span dir="LTR">.</span></p><p>&nbsp;</p><p>با خرید این دوره آموزشی، به یک دوره آموزشی کامل و بی نظیر برای یادگیری طراحی گرافیک دسترسی خواهید داشت. حتی اگر هیچ گونه تجربه ای از قبل نداشته باشید، مهم نیست! این دوره به گونه ای ارائه شده است تا تئوری طراحی را به بهترین و اثربخش ترین شکل به شما آموزش دهید<span dir="LTR">.</span></p><p>&nbsp;</p><p><strong>این دوره مباحث زیر را آموزش می دهد:</strong></p><p>مبانی طراحی گرافیک</p><p>تئوری رنگ ها</p><p>تایپوگرافی</p><p>چیدمان</p><p>ترکیب بندی</p><p>رابط کاربری</p><p>برندینگ</p><p>طراحی لوگو</p><p>عکاسی در طراحی گرافیک</p><p>روند های جدید و تم ها</p><p>جنبه حقوقی طراحی گرافیک</p><p>و موارد بیشتر</p><p>&nbsp;</p><p>The course topics the following training:</p><hr /><p>The basics of graphic design</p><p>The theory of colors</p><p>Typography</p><p>Layout</p><p>Composition</p><p>Interface</p><p>Branding</p><p>Logo design</p><p>Photography, graphic design</p><p>New trends and themes</p><p>Legal aspect of graphic design</p><p>And more&hellip;<br />&nbsp;</p>',N'با خرید این دوره آموزشی، به یک دوره آموزشی کامل و بی نظیر برای یادگیری طراحی گرافیک دسترسی خواهید داشت. حتی اگر هیچ گونه تجربه ای از قبل نداشته باشید، مهم نیست! این دوره به گونه ای ارائه شده است تا تئوری طراحی را به بهترین و اثربخش ترین شکل به شما آموزش دهید.',N'طراحی گرافیک',N'طراحی گرافیک حرفه ای',N'تایپوگرافی',N'طراحی لوگو',N'مبانی طراحی گرافیک',N'طراحی گرافیک خاص',N'تایپو گرافی دیجیتالی','',N'فایلی تا کنون بارگذاری نشده است.',N'8/12/2021 3:30:14 PM',N'طراحی گرافیک,طراحی گرافیک حرفه ای,تایپوگرافی,طراحی لوگو,مبانی طراحی گرافیک,طراحی گرافیک خاص,تایپو گرافی دیجیتالی,',N'4',N'600 M',N'6:36 ساعت',N'1',N'نظریه-طراحی-برای-مبتدیان-',N'HD',N'فيلم هاي آموزشي',N'1',N'تئوری طراحی گرافیک',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'MP4','','','','',N'59',N'دارد',N'مقدماتی')
SET IDENTITY_INSERT VideoL OFF
SET @insertCount = @insertCount + 1 
END
SELECT @count = COUNT(*) FROM [VideoL] WHERE [id] = '40'
BEGIN 
SET IDENTITY_INSERT VideoL ON
INSERT INTO VideoL (id,FirstClass,SecondClass,Name,Code,Codes,Language,FclassSoft,SclassSoft,Price,Description,MotorDescription,Key1,Key2,Key3,Key4,Key5,Key6,Key7,Key8,Image,date,SearchKeys,preference,Hajim,Time,status,UrlName,Quality,Type,DVDE,ThirdClass,OFirstClass,OSecondClass,OThirdClass,Format,Aparat,FirstClassA,SecondClassA,ThirdClassA,lesson,file,Level) VALUES (N'40',N'گرافیک و انیمیشن',N'Maya',N'آموزش راه رفتن کاراکتر در مایا',N'GR1003',N'GR1003',N'انگیسی (زیرنویس انگلیسی)',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'0',N'<p>این دوره برای انیماتورهای مبتدی طراحی شده است که اصول جریان کار را درک می کنند اما تلاش دارند انیمیشن خود را از کیفیت و باورپذیری حرفه ای برخوردار کنند</p><p>&nbsp;</p><p><strong>راه رفتن پایه انیمیشن پیشرفته است.&nbsp;</strong></p><p>تسلط بر چرخه های پیاده روی در انیمیشن سه بعدی به شما اعتماد و مهارت لازم را می دهد تا کاراکتر های انسانی خود را با جزییات بیشتری در صحنه ها کنترل کنید.</p><p><strong>توجه:&nbsp;</strong></p><p><strong>حتما نمونه فیلم موجود در آپارات را مشاهده نمایید</strong>.</p><p>&nbsp;</p><p><strong>این دوره مباحث زیر را آموزش می دهد:</strong></p><hr /><p>&bull;&nbsp;&nbsp; &nbsp;کار با منابع ویدیویی</p><p>&bull;&nbsp;&nbsp; &nbsp;شناسایی و طراحی مهمترین موضوعات پیاده روی</p><p>&bull;&nbsp;&nbsp; &nbsp;عیب یابی</p><p>&bull;&nbsp;&nbsp; &nbsp;Mirroring به صورت دستی و یا با استفاده از ابزارهای سفارشی آسان</p><p>&bull;&nbsp;&nbsp; &nbsp;درک تغییر وزن در حرکت</p><p>&bull;&nbsp;&nbsp; &nbsp;کنترل گام بلند</p><p>&bull;&nbsp;&nbsp; &nbsp;رفع sliding feet</p><p>&bull;&nbsp;&nbsp; &nbsp;تنظیم اولویت های splining</p><p>&bull;&nbsp;&nbsp; &nbsp;انیمیشن splining و polishing workflows</p><p>&bull;&nbsp;&nbsp; &nbsp;کار با لایه های انیمیشن برای اضافه کردن جزئیات و تغییرات</p><p>&bull;&nbsp;&nbsp; &nbsp;رفع زانوها و تقاطع ها</p><p>&bull;&nbsp;&nbsp; &nbsp;ایجاد شخصیت در فضا<br />&nbsp;</p><p>The course topics the following training:</p><hr /><p>Workflow Breakdown</p><p>Planning Ahead References and Rig Set Up</p><p>Understanding Pose Mirroring in 3D Space</p><p>Cleaning Up the Arm Swings</p><p>Clean Up of Feet From Side and 3D View</p><p>Knee Polishing, IK Knee Pops, Intersections</p><p>Polishing, Mood, and Details through Animation Layers</p><p>Tweaking fingers motion and making the character walk through space</p><p><br />And more&hellip;</p><p>&nbsp;</p>',N'راه رفتن پایه انیمیشن پیشرفته است. تسلط بر چرخه های پیاده روی در انیمیشن سه بعدی به شما اعتماد و مهارت لازم را می دهد تا کاراکتر های انسانی خود را با جزییات بیشتری در صحنه ها کنترل کنید.',N'مایا',N'انیمیشن سه بعدی',N'maya',N'آموزش انیمیشن سه بعدی',N'آموزش مایا حرفه ای',N'آموزش راه رفتن در مایا',N'راه رفتن در مایا',N'آموزش مایا',N'فایلی تا کنون بارگذاری نشده است.',N'8/12/2021 3:38:15 PM',N'مایا,انیمیشن سه بعدی,maya,آموزش انیمیشن سه بعدی,آموزش مایا حرفه ای,آموزش راه رفتن در مایا,راه رفتن در مایا,آموزش مایا',N'5',N'686 M',N'2:57 ساعت',N'1',N'آموزش-راه-رفتن-کاراکتر-در-مایا',N'Full HD',N'فيلم هاي آموزشي',N'1',N'تمام سطوح',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'MP4','','','','',N'22',N'دارد',N'مبتدی -پیشرفته')
SET IDENTITY_INSERT VideoL OFF
SET @insertCount = @insertCount + 1 
END
SELECT @count = COUNT(*) FROM [VideoL] WHERE [id] = '41'
BEGIN 
SET IDENTITY_INSERT VideoL ON
INSERT INTO VideoL (id,FirstClass,SecondClass,Name,Code,Codes,Language,FclassSoft,SclassSoft,Price,Description,MotorDescription,Key1,Key2,Key3,Key4,Key5,Key6,Key7,Key8,Image,date,SearchKeys,preference,Hajim,Time,status,UrlName,Quality,Type,DVDE,ThirdClass,OFirstClass,OSecondClass,OThirdClass,Format,Aparat,FirstClassA,SecondClassA,ThirdClassA,lesson,file,Level) VALUES (N'41',N'گرافیک و انیمیشن',N'Web Designing',N'آموزش طراحی گرافیکی صفحات وب',N'GR1004',N'GR1004',N'انگیسی (زیرنویس انگلیسی)',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'0',N'<p><strong>اگه میخواهید صفحات خیره کننده وب سایت بسازید حتما این دوره رو ببینید.</strong></p><p>&nbsp;</p><p>*با مشاهده آموزش های موجود در این دوره تصویری، شروع به یادگیری مبانی طراحی گرافیک صفحات وب خواهید کرد.</p><p>*نحوه طراحی صفحات خیره کننده تحت وب را در محیط فتوشاپ از ابتدا شروع به یادگیری خواهید کرد.&nbsp;</p><p>*در پایان این دوره تصویری شما به یک متخصص در زمینه طراحی صفحات وب در محیط برنامه فتوشاپ تبدیل خواهید شد.</p><p>&nbsp;</p><p><strong>توجه:&nbsp;</strong></p><p><strong>حتما نمونه فیلم موجود در آپارات را مشاهده نمایید</strong>.</p><p>&nbsp;</p><p><strong>مواردی که در این دوره آموزش داده می&zwnj;شود</strong><strong><span dir="LTR">:</span></strong></p><hr /><ul><li>یادگیری نحوه طراحی زیبا و دلنشین گرافیک صفحات وب از ابتدا</li><li>بهبود دانش و مهارت های شما در زمینه اصول طراحی وب</li><li>یادگیری کار با تمامی ابزار های مورد نیاز شما در محیط فتوشاپ</li><li>یادگیری تکنیک های عملی و کارآمد که سرعت عمل شما را بالا خواهد برد</li><li>و...</li></ul><p>&nbsp;</p><p>&nbsp;</p><p><strong>The course topics the following training</strong></p><hr /><p>Color management</p><p>Monitors best panel types, resolution, brand, size</p><p>The Character Panel</p><p>How to identify a font</p><p>Creating the header</p><p>Creating the content area</p><p>Creating the testimonial and footer areas</p><p>Building a flat website - Introduction</p><p>and more...</p><p>&nbsp;</p><p>&nbsp;</p>',N'با مشاهده آموزش های موجود در این دوره تصویری، شروع به یادگیری مبانی طراحی گرافیک صفحات وب خواهید کرد.',N'طراحی گرافیک',N'طراحی صفحات وب سایت',N'فرانت اند دولوپر',N'بک اند دولوپر',N'آموزش طراحی صفحات وب سایت',N'آموزش طراحی',N'آموزش طراحی وب سایت','',N'فایلی تا کنون بارگذاری نشده است.',N'8/13/2021 11:33:06 AM',N'طراحی گرافیک,طراحی صفحات وب سایت,فرانت اند دولوپر,بک اند دولوپر,آموزش طراحی صفحات وب سایت,آموزش طراحی,آموزش طراحی وب سایت,',N'6',N'2.3 G',N'17:50 ساعت',N'1',N'آموزش-طراحی-گرافیکی-صفحات-وب',N'HD',N'فيلم هاي آموزشي',N'1',N'طراحی صفحات وب',N'گرافیک و انیمیشن',N'Web Designing',N'UI/UX designer',N'MP4','','','','',N'157',N'دارد',N'مبتدی -پیشرفته')
SET IDENTITY_INSERT VideoL OFF
SET @insertCount = @insertCount + 1 
END
SELECT @count = COUNT(*) FROM [VideoL] WHERE [id] = '42'
BEGIN 
SET IDENTITY_INSERT VideoL ON
INSERT INTO VideoL (id,FirstClass,SecondClass,Name,Code,Codes,Language,FclassSoft,SclassSoft,Price,Description,MotorDescription,Key1,Key2,Key3,Key4,Key5,Key6,Key7,Key8,Image,date,SearchKeys,preference,Hajim,Time,status,UrlName,Quality,Type,DVDE,ThirdClass,OFirstClass,OSecondClass,OThirdClass,Format,Aparat,FirstClassA,SecondClassA,ThirdClassA,lesson,file,Level) VALUES (N'42',N'گرافیک و انیمیشن',N'Zbrush_Blender_Substance',N'آموزش ضروریات Zbrush',N'GR1005',N'GR1005',N'انگیسی (زیرنویس انگلیسی)',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'0',N'<p>هیچ&nbsp;میدونستید تو <strong>ساخت </strong>فیلم سینمایی <strong>دزدان دریای کارائیب</strong> از زیبراش استفاده شده ، شرکت های بین المللی&nbsp;&nbsp;<strong>ILM , Weta Digital , Epic Games , Electronic Arts&nbsp;</strong> از زیبراش تو ساخت فیلم و انیمشین و گیم استفاده کردند.</p><p><strong>&nbsp;</strong>در زیبراش خیلی سریعتر از مایا و تری دی مکس به نتیجه میرسید.</p><p>پس از مشاهده این آموزش تصویری&nbsp;، یاد گرفته اید که چگونه از ابزارها و تکنیک های مدلسازی پیشرفته و حرفه ای زیبراش ZBrush برای ساخت مدل های سه بعدی با کیفیت حرفه ای استفاده کنید.</p><p>&nbsp;</p><p><strong>توجه:&nbsp;</strong></p><p><strong>حتما نمونه فیلم موجود در&nbsp;آپارات&nbsp;را مشاهده نمایید.</strong></p><p>&nbsp;</p><p><strong>این دوره مباحث زیر را آموزش می دهد:</strong></p><hr /><p>چگونگی استفاده ابزارها و تکنیک های مدلسازی پیشرفته و حرفه ای زیبراش&nbsp;</p><p>ایجاد سریع مجسمه ها و مدلها</p><p>ساخت فرم های اساسی&nbsp;</p><p>جزئیات پالایش و رنگ آمیزی بافت&nbsp;</p><p><br /><strong>کاربردهای عمده زیبراش:</strong></p><hr /><p>طراحی مجسمه و کاراکتر</p><p>طراحی جواهر آلات</p><p>تبلیغات</p><p>بازی سازی</p><p>سینما و فیلم ها (افکت)</p><p>پزشکی و علوم (جراحی پلاستیک، ساخت دستگاه ها و ..)</p><p>طراحی مبلمان</p><p>منبت و مقرنس کاری</p><p>طراحی مد و لباس</p><p>معماری و طراحی داخلی</p><p>&nbsp;</p><p>&nbsp;</p><p><strong>The course topics the following training</strong></p><hr /><p><br />&bull;&nbsp;&nbsp; &nbsp;Sculpting with brushes</p><p>&bull;&nbsp;&nbsp; &nbsp;Applying materials</p><p>&bull;&nbsp;&nbsp; &nbsp;Creating and combining polygroups</p><p>&bull;&nbsp;&nbsp; &nbsp;Creating voxel models with Dynamesh</p><p>&bull;&nbsp;&nbsp; &nbsp;Editing a mesh with the ZModeler brush</p><p>&bull;&nbsp;&nbsp; &nbsp;Working with ZRemesher</p><p>&bull;&nbsp;&nbsp; &nbsp;Moving, scaling, and rotating objects</p><p>&bull;&nbsp;&nbsp; &nbsp;Painting on a model</p><p>&bull;&nbsp;&nbsp; &nbsp;Using texture maps</p><p>&bull;&nbsp;&nbsp; &nbsp;Sculpting and painting a UV layout</p><p>&bull;&nbsp;&nbsp; &nbsp;Using split screen mode</p><p>&nbsp;</p><p>&nbsp;and more...</p><p>&nbsp;</p><p>&nbsp;</p>',N'پس از مشاهده این آموزش تصویری Lynda – ZBrush 2020 Essential Training ، یاد گرفته اید که چگونه از ابزارها و تکنیک های مدلسازی پیشرفته و حرفه ای زیبراش ZBrush برای ساخت مدل های سه بعدی با کیفیت حرفه ای استفاده کنید.',N'زیبراش',N'آموزش زیبراش',N'آموزش حرفه ای زیبراش',N'آموزش zbrush',N'آموزش انیمیشن سه بعدی',N'آموزش ساخت انیمیشن',N'انیمیشن سه بعدی',N'Zbrush',N'فایلی تا کنون بارگذاری نشده است.',N'8/13/2021 2:56:53 PM',N'زیبراش,آموزش زیبراش,آموزش حرفه ای زیبراش,آموزش zbrush,آموزش انیمیشن سه بعدی,آموزش ساخت انیمیشن,انیمیشن سه بعدی,Zbrush',N'7',N'1.77 G',N'6:28 ساعت',N'1',N'آموزش-ضروریات-Zbrush',N'HD',N'فيلم هاي آموزشي',N'1',N'آموزش های Zbrush',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'MP4','','','','',N'102',N'دارد',N'مقدماتی -متوسط')
SET IDENTITY_INSERT VideoL OFF
SET @insertCount = @insertCount + 1 
END
SELECT @count = COUNT(*) FROM [VideoL] WHERE [id] = '43'
BEGIN 
SET IDENTITY_INSERT VideoL ON
INSERT INTO VideoL (id,FirstClass,SecondClass,Name,Code,Codes,Language,FclassSoft,SclassSoft,Price,Description,MotorDescription,Key1,Key2,Key3,Key4,Key5,Key6,Key7,Key8,Image,date,SearchKeys,preference,Hajim,Time,status,UrlName,Quality,Type,DVDE,ThirdClass,OFirstClass,OSecondClass,OThirdClass,Format,Aparat,FirstClassA,SecondClassA,ThirdClassA,lesson,file,Level) VALUES (N'43',N'گرافیک و انیمیشن',N'طراحی گرافیک',N'ساخت موشن گرافیک در افترافکت',N'GR1006',N'GR1006',N'انگیسی (زیرنویس انگلیسی)',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'0',N'<p>میخوایید &nbsp;با یه دوره <strong>پولساز </strong>و <strong>پرکاربرد </strong>چه تو <strong>ایران </strong>و چه <strong>خارج </strong>از ایران آشنا بشید،&nbsp; پس این دوره آموزشی رو حتما ببینید.</p><p>موشن گرافیک تلفیقی از فیلمبرداری و گرافیکه و ایجاد ویدیوهایی که پیام و محتوا رو با استفاده&nbsp;از تصاویر متحرک منتقل می کنند.در واقع نمایش اطلاعاتی که با فیلمبرداری قابل ارائه نیست.</p><p>&nbsp;</p><p><strong>توجه:&nbsp;</strong></p><p><strong>حتما نمونه فیلم موجود در آپارات را مشاهده نمایید</strong>.</p><p>&nbsp;</p><p><strong>در این دوره آموزشی :</strong></p><hr /><p>* مسیر پیشرفت در ساخت موشن گرافیک در افترافکت را یاد میگیرید .</p><p>* می فهمید که طراح موشن بودن به چه معنا می باشد.</p><p>* در طی این دوره با ۴ استودیوی طراحی موشن مختلف و همینطور ابزار مختلف ساخت موشن گرافیک آشنا می شوید.</p><p>* می فهمید که چطور یک پروژه موشن گرافیک در دنیای واقعی را مدیریت و اجرا کنید.</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>',N'در این دوره آموزشی مسیر پیشرفت در ساخت موشن گرافیک در افترافکت را یاد میگیرید و می فهمید که طراح موشن بودن به چه معنا می باشد. ',N'موشن گرافی',N'موشن گرافیک',N'آموزش موشن گرافیک',N'افتر افکت',N'آموزش افتر افکت ',N' موشن گرافیک در افترافکت',N'فیلم های آموزشی',N'خرید فیلم آموزشی',N'فایلی تا کنون بارگذاری نشده است.',N'8/13/2021 3:35:46 PM',N'موشن گرافی,موشن گرافیک,آموزش موشن گرافیک,افتر افکت,آموزش افتر افکت , موشن گرافیک در افترافکت,فیلم های آموزشی,خرید فیلم آموزشی',N'8',N'32 M',N'2:53 ساعت',N'1',N'ساخت-موشن-گرافیک-در-افترافکت',N'HD',N'فيلم هاي آموزشي',N'1',N'موشن گرافیک',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'انتخاب دسته بندی',N'MP4','','','','',N'10',N'دارد',N'مبتدی -پیشرفته')
SET IDENTITY_INSERT VideoL OFF
SET @insertCount = @insertCount + 1 
END

 

but when I run above script into sqlserver it made below error:

 

 

Msg 156, Level 15, State 1, Line 14
Incorrect syntax near the keyword 'file'.
Msg 156, Level 15, State 1, Line 21
Incorrect syntax near the keyword 'file'.
Msg 156, Level 15, State 1, Line 28
Incorrect syntax near the keyword 'file'.
Msg 156, Level 15, State 1, Line 35
Incorrect syntax near the keyword 'file'.
Msg 156, Level 15, State 1, Line 42
Incorrect syntax near the keyword 'file'.
Msg 156, Level 15, State 1, Line 49
Incorrect syntax near the keyword 'file'.
Msg 156, Level 15, State 1, Line 56
Incorrect syntax near the keyword 'file'.
Msg 156, Level 15, State 1, Line 63
Incorrect syntax near the keyword 'file'.

could you help me ?

Best regards

Neda

Download FREE API for Word, Excel and PDF in ASP.Net: Download
dharmendr
 
on Aug 17, 2021 01:03 AM

Hi nedash,

Refer below updated code.

Database

I have made use of the following table Customers with the schema as follows.

I have already inserted few records in the table.

You can download the database table SQL by clicking the download link below.

Download SQL file

Namespaces

using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Text;

Code

string tableName = "Customers", updateAdd, primaryKey;
protected void Page_Load(object sender, EventArgs e)
{
    DownloadScript();
}
public string GenerateCreateTableScript()
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DigimasterConnectionString"].ConnectionString);
    SqlCommand cmd = new SqlCommand();
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = @"DECLARE @object_name SYSNAME
            , @object_id INT
            , @SQL NVARCHAR(MAX)
            SELECT
                    @object_name = '[' + OBJECT_SCHEMA_NAME(o.[object_id]) + '].[' + OBJECT_NAME([object_id]) + ']'
                , @object_id = [object_id]
            FROM (SELECT [object_id] = OBJECT_ID('dbo.VideoL', 'U')) o
     
            SELECT @SQL = 'DROP TABLE VideoL
                SET ANSI_NULLS ON
                SET QUOTED_IDENTIFIER ON
                CREATE TABLE ' + @object_name + CHAR(13) + '(' + CHAR(13) + STUFF((
                SELECT CHAR(13) + '    , [' + c.name + '] ' +
                    CASE WHEN c.is_computed = 1
                        THEN 'AS ' + OBJECT_DEFINITION(c.[object_id], c.column_id)
                        ELSE
                            CASE WHEN c.system_type_id != c.user_type_id
                                THEN '[' + SCHEMA_NAME(tp.[schema_id]) + '].[' + tp.name + ']'
                                ELSE '[' + UPPER(tp.name) + ']'
                            END  +
                            CASE
                                WHEN tp.name IN ('varchar', 'char', 'varbinary', 'binary')
                                    THEN '(' + CASE WHEN c.max_length = -1
                                                    THEN 'MAX'
                                                    ELSE CAST(c.max_length AS VARCHAR(5))
                                                END + ')'
                                WHEN tp.name IN ('nvarchar', 'nchar')
                                    THEN '(' + CASE WHEN c.max_length = -1
                                                    THEN 'MAX'
                                                    ELSE CAST(c.max_length / 2 AS VARCHAR(5))
                                                END + ')'
                                WHEN tp.name IN ('datetime2', 'time2', 'datetimeoffset')
                                    THEN '(' + CAST(c.scale AS VARCHAR(5)) + ')'
                                WHEN tp.name = 'decimal'
                                    THEN '(' + CAST(c.[precision] AS VARCHAR(5)) + ',' + CAST(c.scale AS VARCHAR(5)) + ')'
                                ELSE ''
                            END +
                            CASE WHEN c.collation_name IS NOT NULL AND c.system_type_id = c.user_type_id
                                THEN ' COLLATE ' + c.collation_name
                                ELSE ''
                            END +
                            CASE WHEN c.is_nullable = 1
                                THEN ' NULL'
                                ELSE ' NOT NULL'
                            END +
                            CASE WHEN c.default_object_id != 0
                                THEN ' CONSTRAINT [' + OBJECT_NAME(c.default_object_id) + ']' +
                                        ' DEFAULT ' + OBJECT_DEFINITION(c.default_object_id)
                                ELSE ''
                            END +
                            CASE WHEN cc.[object_id] IS NOT NULL
                                THEN ' CONSTRAINT [' + cc.name + '] CHECK ' + cc.[definition]
                                ELSE ''
                            END +
                            CASE WHEN c.is_identity = 1
                                THEN ' IDENTITY(' + CAST(IDENTITYPROPERTY(c.[object_id], 'SeedValue') AS VARCHAR(5)) + ',' +
                                                CAST(IDENTITYPROPERTY(c.[object_id], 'IncrementValue') AS VARCHAR(5)) + ')'
                                ELSE ''
                            END
                    END
                FROM sys.columns c WITH(NOLOCK)
                JOIN sys.types tp WITH(NOLOCK) ON c.user_type_id = tp.user_type_id
                LEFT JOIN sys.check_constraints cc WITH(NOLOCK)
                        ON c.[object_id] = cc.parent_object_id
                    AND cc.parent_column_id = c.column_id
                WHERE c.[object_id] = @object_id
                ORDER BY c.column_id
                FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 7, '      ') +
                ISNULL((SELECT '
                , CONSTRAINT [' + i.name + '] PRIMARY KEY ' +
                CASE WHEN i.index_id = 1
                    THEN 'CLUSTERED'
                    ELSE 'NONCLUSTERED'
                END +' (' + (
                SELECT STUFF(CAST((
                    SELECT ', [' + COL_NAME(ic.[object_id], ic.column_id) + ']' +
                            CASE WHEN ic.is_descending_key = 1
                                THEN ' DESC'
                                ELSE ''
                            END
                    FROM sys.index_columns ic WITH(NOLOCK)
                    WHERE i.[object_id] = ic.[object_id]
                        AND i.index_id = ic.index_id
                    FOR XML PATH(N''), TYPE) AS NVARCHAR(MAX)), 1, 2, '')) + ')'
                FROM sys.indexes i WITH(NOLOCK)
                WHERE i.[object_id] = @object_id
                    AND i.is_primary_key = 1), '') + CHAR(13) + ');'
            SELECT @SQL ";
    cmd.Connection = con;
    con.Open();
    string query = Convert.ToString(cmd.ExecuteScalar());
    con.Close();

    return query;
}
public void DownloadScript()
{
    string iDValues = "", insertQry, updateQry;
    int i = 0;
    string conString = ConfigurationManager.ConnectionStrings["DigimasterConnectionString"].ConnectionString;
    SqlConnection con = new SqlConnection(conString);
    SqlCommand cmd = new SqlCommand("select * from Customers", con);
    primaryKey = GetPrimaryKey(tableName, conString);
    insertQry = "";
    con.Open();

    if (File.Exists(Server.MapPath("~/" + tableName + ".sql")))
    {
        File.Delete(Server.MapPath("~/" + tableName + ".sql"));
    }

    // Writing Create Table Script.
    StreamWriter sw = new StreamWriter(Server.MapPath("~/" + tableName + ".sql"), true, Encoding.UTF8);
    sw.Write(GenerateCreateTableScript() + Environment.NewLine);
    sw.Close();

    SqlDataReader sdr = cmd.ExecuteReader();
    while (sdr.Read())
    {
        i = i + 1;
        updateAdd = "";
        insertQry = "";

        string celldata = "", coulmenName = "";
        for (int j = 0; j < sdr.FieldCount; j++)
        {
            if (j > 0)
            {
                coulmenName += ",[" + sdr.GetName(j).ToString() + "]";
                if (!string.IsNullOrEmpty(sdr[j].ToString()))
                {
                    celldata += ",N'" + sdr[j].ToString().Replace("'", "''") + "'";
                }
                else
                {
                    celldata += ",'" + sdr[j].ToString().Replace("'", "''") + "'";
                }
            }
            else
            {
                coulmenName += "[" + sdr.GetName(j).ToString() + "]";
                if (!string.IsNullOrEmpty(sdr[j].ToString()))
                {
                    celldata += "N'" + sdr[j].ToString().Replace("'", "''") + "'";
                }
                else
                {
                    celldata += "'" + sdr[j].ToString().Replace("'", "''") + "'";
                }
            }
            if (primaryKey == sdr.GetName(j).ToString())
            {
                iDValues = sdr[j].ToString();
            }
            if (iDValues != null)
            {
                updateQry = UpdateQuery(coulmenName, celldata, primaryKey, iDValues);
                updateAdd += updateQry;
                insertQry = InsertQuery(coulmenName, celldata, tableName);
            }
        }
        WriteScripts(tableName, insertQry, updateAdd, iDValues, primaryKey, i);
    }

    // Download the sql script file.
    if (File.Exists(Server.MapPath("~/" + tableName + ".sql")))
    {
        byte[] bytes = File.ReadAllBytes(Server.MapPath("~/" + tableName + ".sql"));
        File.Delete(Server.MapPath("~/" + tableName + ".sql"));

        Response.Clear();
        Response.Buffer = true;
        Response.Charset = "";
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.ContentType = ContentType;
        Response.AppendHeader("Content-Disposition", "attachment; filename=" + tableName + ".sql");
        Response.BinaryWrite(bytes);
        Response.Flush();
        Response.End();
    }
}
public string GetPrimaryKey(string tableName, string cnnString)
{
    string iD = "";
    SqlConnection con = new SqlConnection(cnnString);
    SqlCommand cmd = new SqlCommand("sp_pkeys", con);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add("@table_name", SqlDbType.NVarChar).Value = tableName;
    con.Open();
    SqlDataReader sdr = cmd.ExecuteReader();
    while (sdr.Read())
    {
        iD = sdr[3].ToString();
    }
    con.Close();

    return iD;
}
public void WriteScripts(string tableName, string insertqry, string updateQuery, string iDValues, string PrimaryKey, int i)
{
    string script = "";
    updateQuery = "UPDATE " + tableName + " SET " + updateQuery + " WHERE " + PrimaryKey + " = ' " + iDValues + "'";
    int index = updateQuery.LastIndexOf(",");
    string updatqry = updateQuery.Remove(index, 1);
    if (i == 1)
    {
        script += "DECLARE @updateCount INT;" + Environment.NewLine;
        script += "DECLARE @insertCount INT;" + Environment.NewLine;
        script += "DECLARE @count INT;" + Environment.NewLine;
        script += " SET @updateCount = 0;" + Environment.NewLine;
        script += " SET @insertCount = 0;" + Environment.NewLine;
        script += "SELECT @count = COUNT(*) FROM [" + tableName + "] WHERE [" + PrimaryKey + "] = '" + iDValues + "'" + Environment.NewLine;
        script += "BEGIN " + Environment.NewLine;
        script += "SET IDENTITY_INSERT " + tableName + " ON" + Environment.NewLine;
        script += insertqry + " " + Environment.NewLine;
        script += "SET IDENTITY_INSERT " + tableName + " OFF" + Environment.NewLine;
        script += " SET @insertCount = @insertCount + 1 " + Environment.NewLine;
        script += "END" + Environment.NewLine;
        StreamWriter sw = new StreamWriter(Server.MapPath("~/" + tableName + ".sql"), true, Encoding.UTF8);
        sw.Write(script);
        sw.Close();
    }
    else
    {
        script += "SELECT @count = COUNT(*) FROM [" + tableName + "] WHERE [" + PrimaryKey + "] = '" + iDValues + "'" + Environment.NewLine;
        script += "BEGIN " + Environment.NewLine;
        script += "SET IDENTITY_INSERT " + tableName + " ON" + Environment.NewLine;
        script += insertqry + "" + Environment.NewLine;
        script += "SET IDENTITY_INSERT " + tableName + " OFF" + Environment.NewLine;
        script += "SET @insertCount = @insertCount + 1 " + Environment.NewLine;
        script += "END" + Environment.NewLine;
        StreamWriter sw = new StreamWriter(Server.MapPath("~/" + tableName + ".sql"), true, Encoding.UTF8);
        sw.Write(script);
        sw.Close();
    }
}
public string InsertQuery(string columnName, string cellData, string tableName)
{
    return "INSERT INTO " + tableName + " (" + columnName + ") VALUES (" + cellData + ")";
}
public string UpdateQuery(string columnName, string cellData, string Names, string value)
{
    string iDName, iDValue, ud = "", name = "", values = "";
    iDName = Names;
    iDValue = value;
    if (iDName != null)
    {
        int indexcolumn = columnName.LastIndexOf(",");
        int indexValues = cellData.LastIndexOf(",");
        if (indexcolumn > 0 && indexValues > 0)
        {
            columnName = columnName.Substring(indexcolumn);
            cellData = cellData.Substring(indexValues);
            name = columnName.Replace(",", "");
            values = cellData.Replace(",", "");
            if (name != iDName && values != iDValue)
            {
                ud = name + "=" + values + ",";
            }
        }
        else
        {
            name = columnName;
            values = cellData;
            if (name != iDName && values != iDValue)
            {
                ud = name + "=" + values + ",";
            }
        }
    }
    return ud;
}

Generated Script

DECLARE @updateCount INT;
DECLARE @insertCount INT;
DECLARE @count INT;
 SET @updateCount = 0;
 SET @insertCount = 0;
SELECT @count = COUNT(*) FROM [Customers] WHERE [CustomerId] = '1'
BEGIN 
SET IDENTITY_INSERT Customers ON
INSERT INTO Customers ([CustomerId],[Name],[Country]) VALUES (N'1',N'John Hammond',N'United States') 
SET IDENTITY_INSERT Customers OFF
 SET @insertCount = @insertCount + 1 
END
SELECT @count = COUNT(*) FROM [Customers] WHERE [CustomerId] = '2'
BEGIN 
SET IDENTITY_INSERT Customers ON
INSERT INTO Customers ([CustomerId],[Name],[Country]) VALUES (N'2',N'Mudassar Khan',N'India')
SET IDENTITY_INSERT Customers OFF
SET @insertCount = @insertCount + 1 
END
SELECT @count = COUNT(*) FROM [Customers] WHERE [CustomerId] = '3'
BEGIN 
SET IDENTITY_INSERT Customers ON
INSERT INTO Customers ([CustomerId],[Name],[Country]) VALUES (N'3',N'Suzanne Mathews',N'France')
SET IDENTITY_INSERT Customers OFF
SET @insertCount = @insertCount + 1 
END
SELECT @count = COUNT(*) FROM [Customers] WHERE [CustomerId] = '4'
BEGIN 
SET IDENTITY_INSERT Customers ON
INSERT INTO Customers ([CustomerId],[Name],[Country]) VALUES (N'4',N'Robert Schidner',N'Russia')
SET IDENTITY_INSERT Customers OFF
SET @insertCount = @insertCount + 1 
END