Я выполняю функцию для загрузки файлов в папку, используя C#. Это происходит и ошибка, когда ошибка «должна объявить скалярную переменную" @table_id "после того, как я нажимаю на загрузку. Я сделал некоторое исследование и попытаться использовать пример других, но ошибка все еще возникает. Это функция для загрузки:
protected void UploadFile(object sender, EventArgs e)
{
string str = ConfigurationManager.ConnectionStrings["Ulysses"].ConnectionString;
string filenam = FileUpload1.FileName.ToString();
string TABLE_NAME = "REQUEST";
int table_id = -1;
table_id = generateNextId("SP_LINK_TABLE_FIELD_ID");
string path = @"C:\Users\muhd\Documents\CyberLink";
path = path + filenam;
FileUpload1.PostedFile.SaveAs(path);
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "Insert into OLE(LINK_TABLE_ID, LINK_TABLE_NAME, OLE_LINK_FILE_NAME) values(@TABLE_ID,@TABLE_NAME,@FILE_NAME)";
cmd.CommandType = CommandType.Text;
command.Parameters.AddWithValue("@TABLE_ID", SqlDbType.Int).Value = table_id;
command.Parameters.AddWithValue("@TABLE_NAME", TABLE_NAME);
command.Parameters.AddWithValue("@FILE_NAME",path);
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
< /code>
table_id взят из хранимой процедуры с использованием другой функции. Пожалуйста, обратитесь ниже: < /p>
protected int generateNextId(string strStoredProcedureName)//this is for inserting table_field_id for uploading attachment
{
int intNewId = 0;
try
{
strConn = ConfigurationManager.ConnectionStrings["Ulysses"].ToString();
conn = new SqlConnection(strConn);
command = new SqlCommand(strStoredProcedureName, conn);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@newid", SqlDbType.Int);
command.Parameters["@newid"].Direction = ParameterDirection.ReturnValue;
conn.Open();
command.ExecuteNonQuery();
intNewId = (int)command.Parameters["@newid"].Value;
}
catch (Exception ex)
{
}
finally
{
conn.Close();
conn = null;
}
return intNewId;
}
< /code>
Это хранящаяся процедура, которую я использую: < /p>
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP_LINK_TABLE_FIELD_ID]
AS
begin tran;
declare @nextid integer;
update generator
set current_number = current_number + 1
where generator = 'LINK_TABLE_FIELD';
select @nextid = current_number
from generator
where generator = 'LINK_TABLE_FIELD';
commit tran;
return @nextid;
< /code>
Я не уверен, почему ее нужно было объявить даже другую функцию с одним и тем же стилем, не имеет проблем с кодом, но эта ошибка показывает эту ошибку. Я надеюсь, что каждый может дать некоторое представление об этой проблеме.
Подробнее здесь: https://stackoverflow.com/questions/384 ... le-c-sharp
Ошибка - должна объявить скалярную переменную - C# [закрыто] ⇐ C#
Место общения программистов C#
-
Anonymous
1739232181
Anonymous
Я выполняю функцию для загрузки файлов в папку, используя C#. Это происходит и ошибка, когда ошибка «должна объявить скалярную переменную" @table_id "после того, как я нажимаю на загрузку. Я сделал некоторое исследование и попытаться использовать пример других, но ошибка все еще возникает. Это функция для загрузки:
protected void UploadFile(object sender, EventArgs e)
{
string str = ConfigurationManager.ConnectionStrings["Ulysses"].ConnectionString;
string filenam = FileUpload1.FileName.ToString();
string TABLE_NAME = "REQUEST";
int table_id = -1;
table_id = generateNextId("SP_LINK_TABLE_FIELD_ID");
string path = @"C:\Users\muhd\Documents\CyberLink";
path = path + filenam;
FileUpload1.PostedFile.SaveAs(path);
SqlConnection con = new SqlConnection(str);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "Insert into OLE(LINK_TABLE_ID, LINK_TABLE_NAME, OLE_LINK_FILE_NAME) values(@TABLE_ID,@TABLE_NAME,@FILE_NAME)";
cmd.CommandType = CommandType.Text;
command.Parameters.AddWithValue("@TABLE_ID", SqlDbType.Int).Value = table_id;
command.Parameters.AddWithValue("@TABLE_NAME", TABLE_NAME);
command.Parameters.AddWithValue("@FILE_NAME",path);
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
< /code>
table_id взят из хранимой процедуры с использованием другой функции. Пожалуйста, обратитесь ниже: < /p>
protected int generateNextId(string strStoredProcedureName)//this is for inserting table_field_id for uploading attachment
{
int intNewId = 0;
try
{
strConn = ConfigurationManager.ConnectionStrings["Ulysses"].ToString();
conn = new SqlConnection(strConn);
command = new SqlCommand(strStoredProcedureName, conn);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@newid", SqlDbType.Int);
command.Parameters["@newid"].Direction = ParameterDirection.ReturnValue;
conn.Open();
command.ExecuteNonQuery();
intNewId = (int)command.Parameters["@newid"].Value;
}
catch (Exception ex)
{
}
finally
{
conn.Close();
conn = null;
}
return intNewId;
}
< /code>
Это хранящаяся процедура, которую я использую: < /p>
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP_LINK_TABLE_FIELD_ID]
AS
begin tran;
declare @nextid integer;
update generator
set current_number = current_number + 1
where generator = 'LINK_TABLE_FIELD';
select @nextid = current_number
from generator
where generator = 'LINK_TABLE_FIELD';
commit tran;
return @nextid;
< /code>
Я не уверен, почему ее нужно было объявить даже другую функцию с одним и тем же стилем, не имеет проблем с кодом, но эта ошибка показывает эту ошибку. Я надеюсь, что каждый может дать некоторое представление об этой проблеме.
Подробнее здесь: [url]https://stackoverflow.com/questions/38453122/error-must-declare-scalar-variable-c-sharp[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия