2 qq 28684017 qq_28684017 于 2016.03.24 09:40 提问

asp.net读取txt文件内容,并把内容全部导入到数据库表里 2C
 string textName = TextBox1.Text;
        string name = TextBox2.Text;
        DateTime time = DateTime.Now;
        if (FileUpload1.PostedFile.InputStream.Length < 1)
        {
            Label1.Text = "请选择文件";
            return;
        }
        string FileName = FileUpload1.FileName;
        if (FileName.ToLower().IndexOf(".txt") == -1)
        {
            Label1.Text = "请选择文本文件。";
            return;
        }
        int FileLen = FileUpload1.PostedFile.ContentLength;
        byte[] input = new byte[FileLen];
        Stream UpLoadStream = FileUpload1.PostedFile.InputStream;
        UpLoadStream.Read(input, 0, FileLen);
        UpLoadStream.Position = 0;
        StreamReader sr = new StreamReader(UpLoadStream, System.Text.Encoding.Default);
        String content = sr.ReadToEnd();
        sr.Close();
        UpLoadStream.Close();
        UpLoadStream = null;
        sr = null;
        SqlConnection conn = sc.getSqlConnection();
        conn.Open();
        String sql = "insert into txt(textName,masName,text,time) Values('"+textName+"','"+name+"','"+content+"','"+time+"')";

        SqlCommand cmd = new SqlCommand(sql, conn);


        int i = cmd.ExecuteNonQuery();
        if (i == 1)
        {
            Response.Write("<script>alert('上传成功');</script>");
        }
        conn.Close();

图片说明

运行报错:“/”应用程序中的服务器错误。
数据类型 varchar 和 varchar 在 '|' 运算符中不兼容。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 数据类型 varchar 和 varchar 在 '|' 运算符中不兼容。

源错误:

行 59:
行 60:

行 61: int i = cmd.ExecuteNonQuery();
行 62: if (i == 1)
行 63: {

源文件: f:\C#\导入\frist.aspx.cs 行: 61

堆栈跟踪:

[SqlException (0x80131904): 数据类型 varchar 和 varchar 在 '|' 运算符中不兼容。]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) +2442030
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) +5736648
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +628
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +3731
System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) +940
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) +272
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +280
frist.Button1_Click(Object sender, EventArgs e) in f:\C#\导入\frist.aspx.cs:61
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9692746
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +12
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +15
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3562

版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.6.1073.0

2个回答

enpterexpress
enpterexpress   2016.03.24 10:03

varchar类型的数据不能做与运算

qq_28684017
qq_28684017 我这里面没有与运算吧
一年多之前 回复
qq_34509904
qq_34509904   2016.04.02 23:14

只有int,double这样的数据类型才与运算,string是不行的图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!