大家好日子,如果fileupload中没有文件,我想问你如何控制提交表单。我上传文件的代码就是这个。
FileInfo fi = new FileInfo(FileUpload1.FileName);
byte[] documentContent = FileUpload1.FileBytes;
string name = fi.Name;
string extn = fi.Extension;
da.InsertCommand.Parameters.Add("@DocumentName", SqlDbType.VarChar).Value = name;
da.InsertCommand.Parameters.Add("@DocumentContent", SqlDbType.VarBinary).Value = documentContent;
da.InsertCommand.Parameters.Add("@DocumentExt", SqlDbType.VarChar).Value = extn;
cs.Open();
da.InsertCommand.ExecuteNonQuery();
cs.Close();
如果没有选择文件并且单击了提交按钮,我想要一些限制它存储在数据库中的东西。我不知道在if-else语句中放什么。请帮帮我。
答案 0 :(得分:0)
我相信这会为你做到这一点
<?php
echo "$" . $whatever;
$moneyvalue = "$" . $floatvalue;
echo $moneyvalue;
function FormatMoney($x) {
return "$" . $x;
}
echo FormatMoney($myfloatvalue);
?>
因此,当我们检查string name = fi.Name;
string extn = fi.Extension;
if(!String.IsNullOrEmpty(name))
{
da.InsertCommand.Parameters.Add("@DocumentName", SqlDbType.VarChar).Value = name;
da.InsertCommand.Parameters.Add("@DocumentContent", SqlDbType.VarBinary).Value = documentContent;
da.InsertCommand.Parameters.Add("@DocumentExt", SqlDbType.VarChar).Value = extn;
cs.Open();
da.InsertCommand.ExecuteNonQuery();
cs.Close();
}
方法时。它检查文件名是否为空。如果没有选择文件且值为none,则不会调用SQL事件。
答案 1 :(得分:0)
在模型中的属性上添加[必需]标记。您可以使用验证添加回复和其他内容。
答案 2 :(得分:0)
我不确定你需要哪一个:
1.限制提交(回发),添加RequiredFieldValidator
with cte as (
select t.tableid, t.referencedtableid, 1 as lev
from t
where t.id = 1
union all
select cte.tableid, t.referencedtableid, lev + 1
from cte join
t
on cte.referencedtableid = t.id
)
select referencedtableid
from cte;
2。不要只保存图像:
<asp:RequiredFieldValidator ID="Validation1" runat="server" ControlToValidate="FileUpload1" ErrorMessage="An image file is required"></asp:RequiredFieldValidator>
希望这有帮助...
答案 3 :(得分:0)
使用以下方案:
ListBox lbAttachments = (ListBox)FileUpload1;
if(lbAttachments.Items.Count > 0)
{
for(int i = 0; i < lstAttachments.Items.Count; i++)
{
FileInfo fi = new FileInfo(lbAttachments.Items[i].Text);
byte[] documentContent = FileUpload1.FileBytes;
string name = fi.Name;
string extn = fi.Extension;
SqlCommand cmdInsert = new SqlCommand("Insert into tableName(DocumentName,DocumentContent, DocumentExt) Values(@DocumentName,@DocumentContent,@DocumentExt)", con);
SqlParameter Name = cmdInsert.Parameters.Add("@DocumentName", SqlDbType.VarChar, 100);
SqlParameter DocumentContent = cmdInsert.Parameters.Add("@DocumentContent", SqlDbType.Int);
SqlParameter DocumentExt= cmdInsert.Parameters.Add("@DocumentExt", SqlDbType.VarChar, 10);
da.InsertCommand.Parameters.Add("@DocumentName", SqlDbType.VarChar).Value = name;
da.InsertCommand.Parameters.Add("@DocumentContent", SqlDbType.VarBinary).Value = documentContent;
da.InsertCommand.Parameters.Add("@DocumentExt", SqlDbType.VarChar).Value = extn;
cs.Open();
da.InsertCommand.ExecuteNonQuery();
cs.Close();
}
}
//另一种方式是
if(FileUpload1.HasFile)//To check file os present
{
if(FileUpload1.PostedFile.ContentLength > 0)
{
FileInfo fi = new FileInfo(FileUpload1.FileName);
byte[] documentContent = FileUpload1.FileBytes;
string name = fi.Name;
string extn = fi.Extension;
SqlCommand cmdInsert = new SqlCommand("Insert into tableName(DocumentName,DocumentContent, DocumentExt) Values(@DocumentName,@DocumentContent,@DocumentExt)", con);
SqlParameter Name = cmdInsert.Parameters.Add("@DocumentName", SqlDbType.VarChar, 100);
SqlParameter DocumentContent = cmdInsert.Parameters.Add("@DocumentContent", SqlDbType.Int);
SqlParameter DocumentExt= cmdInsert.Parameters.Add("@DocumentExt", SqlDbType.VarChar, 10);
da.InsertCommand.Parameters.Add("@DocumentName", SqlDbType.VarChar).Value = name;
da.InsertCommand.Parameters.Add("@DocumentContent", SqlDbType.VarBinary).Value = documentContent;
da.InsertCommand.Parameters.Add("@DocumentExt", SqlDbType.VarChar).Value = extn;
cs.Open();
da.InsertCommand.ExecuteNonQuery();
cs.Close();
}
}
答案 4 :(得分:0)
您可以直接检查您的文件名是否包含任何数据。
喜欢:
if (FileUpload1.FileName != "")
{
FileInfo fi = new FileInfo(FileUpload1.FileName);
byte[] documentContent = FileUpload1.FileBytes;
string name = fi.Name;
string extn = fi.Extension;
// Add Connection string here //
da.InsertCommand.Parameters.Add("@DocumentName", SqlDbType.VarChar).Value = name;
da.InsertCommand.Parameters.Add("@DocumentContent", SqlDbType.VarBinary).Value = documentContent;
da.InsertCommand.Parameters.Add("@DocumentExt", SqlDbType.VarChar).Value = extn;
cs.Open();
da.InsertCommand.ExecuteNonQuery();
cs.Close();
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", "alert('No Files Uploaded');", true);
}
更新:我认为您的代码存在问题。你用过
da.InsertCommand.Parameters.Add("@DocumentName", SqlDbType.VarChar).Value = name;
da.InsertCommand.Parameters.Add("@DocumentContent", SqlDbType.VarBinary).Value = documentContent;
da.InsertCommand.Parameters.Add("@DocumentExt", SqlDbType.VarChar).Value = extn;
插入数据。因此,请尝试以下方法插入数据
if (FileUpload1.FileName != "")
{
FileInfo fi = new FileInfo(FileUpload1.FileName);
byte[] documentContent = FileUpload1.FileBytes;
string name = fi.Name;
string extn = fi.Extension;
SqlConnection connections = new SqlConnection(strConn);
SqlCommand command = new SqlCommand("INSERT INTO tablename(DocumentName, DocumentContent, DocumentExt) VALUES (@DocumentName, @DocumentContent, @DocumentExt)", connections);
SqlParameter param0 = new SqlParameter("@DocumentName", SqlDbType.VarChar);
param0.Value = name;
command.Parameters.Add(param0);
SqlParameter param1 = new SqlParameter("@DocumentContent", SqlDbType.VarBinary);
param1.Value = documentContent;
command.Parameters.Add(param1);
SqlParameter param2 = new SqlParameter("@DocumentExt", SqlDbType.VarChar);
param2.Value = extn;
command.Parameters.Add(param2);
connections.Open();
int numRowsAffected = command.ExecuteNonQuery();
connections.Close();
if (numRowsAffected != 0)
{
Response.Write("<BR>Rows Inserted successfully");
}
else
{
Response.Write("<BR>An error occurred uploading the image");
}
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", "alert('No Files Uploaded');", true);
}