我正在尝试在数据库中保存varbinary [max]列。为此,我在下面有以下代码:
public static void databaseFilePut(string varFilePath)
{
byte[] file;
using (var stream = new FileStream(varFilePath, FileMode.Open, FileAccess.Read))
{
using (var reader = new BinaryReader(stream))
{
file = reader.ReadBytes((int)stream.Length);
}
}
using (var varConnection = Locale.sqlConnectOneTime(Locale.sqlDataConnectionDetails))
using (var sqlWrite = new SqlCommand("INSERT INTO tblFiles2 (Data) Values(@File)",
varConnection))
{
sqlWrite.Parameters.Add("@File", SqlDbType.VarBinary, file.Length).Value = file;
sqlWrite.ExecuteNonQuery();
}
}
这给了我错误。名称“语言环境”在当前上下文中不存在。请告诉我该如何解决。我已经使用了所有名称空间。我尝试搜索,但找不到任何东西。请帮助。
为了了解您的情况下,语言环境名称使用的是哪种类型的库或名称空间,还应提供此库的名称。
但是,您可以使用推荐的方法来初始化应用程序内部的SQL连接。为此,您可以使用以下代码:
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file, using the
// System.Configuration.ConfigurationSettings.AppSettings property
return "Data Source=(local);Initial Catalog=AdventureWorks;"
+ "Integrated Security=SSPI;";
}
public static void databaseFilePut(string varFilePath)
{
string connectionString = GetConnectionString();
byte[] file;
using (var stream = new FileStream(varFilePath, FileMode.Open, FileAccess.Read))
{
using (var reader = new BinaryReader(stream))
{
file = reader.ReadBytes((int)stream.Length);
}
}
using (SqlConnection connection = new SqlConnection(connectionString))
using (var sqlWrite = new SqlCommand("INSERT INTO tblFiles2 (Data) Values(@File)",
connection))
{
conn.Open();
sqlWrite.Parameters.Add("@File", SqlDbType.VarBinary, file.Length).Value = file;
sqlWrite.ExecuteNonQuery();
}
}
此外,在通过asp.net实例化连接时,请参阅文档:Documentation