存储过程好了,直接取得你文本框中的路径名和文件名,传参数给这个存储过程,然后调用一下就ok了。
获得路径名和文件名请参考:
string fullPath = @"D:\test\tsv.sql";
            string directory = Path.GetDirectoryName(fullPath);//获得路径名 D:\test
            string fileName = Path.GetFileName(fullPath);//获取文件名 tsv.sql

解决方案 »

  1.   

    你可以参考asp.net的上传控件upfileload的使用
      

  2.   


    本人纯新手,完全不会winform,只是刚看了几眼,求教怎么点击按钮就执行我的存储过程,怎么连接数据库
      

  3.   

    直接双击按钮,然后在里面的click事件中写代码即可。
    C#调用带参数的存储过程实例
      

  4.   

    你让我看实例我也不懂。。我的存储过程如果就叫zh,参数是@path和@name,
    能帮忙直接写一下吗
      

  5.   

    什么都不懂啊,那为什么不用现成的SQL Server Management Studio呢?
      

  6.   

    手写的代码,没经过测试,你参考一下。
     public int ExecuteProcedure(string procedureName, SqlParameter[] sqlParameters)
            {
                using (SqlConnection conn = new SqlConnection("server=.;database=mydb;uid=sa;pwd=123456"))
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conn;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = procedureName;
                    cmd.Parameters.AddRange(sqlParameters);
                    return cmd.ExecuteNonQuery();
                }
            }
    在按钮下面调用这个方法。
      string fullPath = @"D:\test\tsv.sql";//这里是你textbox里面选择的sql文件路径            string procedureName = "zh";//zh为你的存储过程名
                SqlParameter[] sqlParameters = new SqlParameter[] { 
                    new SqlParameter("@path",Path.GetDirectoryName(fullPath)),
                    new SqlParameter("@name",Path.GetFileName(fullPath))
                };
                int i = ExecuteProcedure(procedureName, sqlParameters);
                if (i > 0)
                {
                    //执行成功
                }
      

  7.   

    还有定义一个输出参数,用来接收存储过程返回的值。我上面没加,你加一个。
    建议你好好学习一下ado.net,如何调用存储过程。我上面的链接,你也可以跟着那个示例做一遍就会了。