怎样把某个数据传给SQL脚本里面的变量呢?脚本文件代码:declare @ename nchar
set @ename=“这里该怎么写”insert into Employee
values
(@ename,'7','8')

解决方案 »

  1.   

    我是在程序中调用SQL脚本的
    因为某些字段的数值是不定的,所以在脚本里定义了若干变量
    我试过在脚本里多定义一个变量namechar
    然后在读取脚本的时候,对namechar赋值,可是报错,也就是说根本没有把值传递进去
    顺便把解析脚本内容的方法也贴上
    public static bool ExecuteSqlFile(string varFileName)
                {
                    if (!File.Exists(varFileName))
                    {
                        return false;
                    }
                    StreamReader rs = new StreamReader(varFileName, System.Text.Encoding.Default);
                    ArrayList alSql = new ArrayList();
                    string commandText = "";
                    string varLine = "";
                    while (rs.Peek() > -1)
                    {
                        varLine = rs.ReadLine();
                        if (varLine == "")
                        {
                            continue;
                        }
                        if (varLine != "GO")
                        {
                            commandText += varLine;
                            commandText += "\r\n";
                        }
            else
                        {
                            commandText += "";
                        }
                    }
                    alSql.Add(commandText);
                    rs.Close();
                    try
                    {
                        ExecuteCommand(alSql);
                        return true;
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
               
      

  2.   

    你定义的是存储过程吗
    cmd.Parameters.Add("@ename", SqlDbType.NVChar, 50).Value = "ename";
      

  3.   

    在code 中先这样写
     ename = "test";//你需要传进数据库的值
     SqlParameter[] parameters = {new SqlParameter@ename", ename)}
     using (SqlDataReader reader =
                    SqlHelper.ExecuteReader(connection,
                    CommandType.StoredProcedure,
                    存储过程名字,
                    parameters))reader 就是你要返回的值.