如果是一般的写法,可以这样做:
insert into t_users(username) values(N'"+userName.Text.Trim()+" )可是如果写成以下形式,"N"应该写在哪里呢?
insert into t_users(username) values(@username)
我试过写成insert into t_users(username) values(N'@username')不行,请各位指点小弟!谢谢!

解决方案 »

  1.   

    username数据类型是什么?最好改为nvarchar.
      

  2.   

    @username变量和字段都用nvarchar类型即可!
      

  3.   

    create table #temp
    (
    username nvarchar(100)
    )declare @username nvarchar(100)
    set @username = N'张三'
    insert into #temp(username) values(@username)select * from #temp
      

  4.   

    你把变量设置成nvarchar即可.declare @username as nvarchar(100)
    set @username = N'中文'
    insert into t_users(username) values(@username)
      

  5.   


    在创建字段类型的时候就已经选择为nvarchar(50)了,但是还是没有用!
      

  6.   


    谢谢这位大哥,不过可能是因为小弟表达上出了些问题。
    其实我想实现的功能是从WINFORM中导入TXT格式的用户数据,然后我就在winform的buttom控件中写入了一句
    insert into t_users(username) values(@username)
    使用@username是为了做防止注入处理。
    但由于我需要做循环取值,所以不能强制为@username做赋值处理。全部源代码如下:            using (FileStream fileStream = File.OpenRead(ofdImport.FileName))
                {
                    using (StreamReader sr = new StreamReader(fileStream))
                    {
                        //读取配置文件中的数据库连接参数
                        string connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
                        using (SqlConnection conn = new SqlConnection(connStr))
                        {
                            conn.Open();
                            using (SqlCommand cmd = conn.CreateCommand())
                            {
                                cmd.CommandText = "Insert into c_Users(cUsername,cAge) values(@Username,@Age)";
                                string line = null;
                                while ((line = sr.ReadLine()) != null)
                                {
                                    string[] str = line.Split('|');
                                    string username = str[0];
                                    int age = Convert.ToInt32(str[1]);                                cmd.Parameters.Clear();
                                    cmd.Parameters.Add(new SqlParameter("Username", username));
                                    cmd.Parameters.Add(new SqlParameter("Age", age));
                                    cmd.ExecuteNonQuery();
                                }
                            }
                        }
                        MessageBox.Show("导入成功!");
                    }
                }